作者superttl (ttl)
看板C_Sharp
标题[问题] 有关 XML 读取写入的问题
时间Fri Jan 4 12:18:38 2013
hi 小弟在此有个 xml 使用上的问题
先说一下 xml 的结构大致如下:
<?xml version="1.0" encoding="utf-8"?>
<TITLE>
<USERS>
</USERS>
</TITLE>
上面这个 xml 档案我已经开启完成了...
先说明一下我的用意在 <USERS> ... </USERS> 里我会在摆上
<USER name="aaa"/>
<USER name="bbb"/>
这些资料...
我想在读取这个 xml 的时候判断 USER name="aaa" 是否有存在...
如果不存在就重新建立...
我的语法如下:
XmlElement xmlElement =
(XmlElement)xmlDoc.SelectSingleNode(string.Format("TITLE/USERS/USER[@name='{0}']",
"aaa"));
if (xmlElement == null)
{
xmlElement = xmlDoc.CreateElement("USER");
xmlElement.SetAttribute("name", "aaa");
xmlDoc.LastChild.AppendChild(xmlElement);
xmlDoc.Save(XMLFILE);
}
这样的结果会产生成
<?xml version="1.0" encoding="utf-8"?>
<TITLE>
<USERS>
</USERS>
<USER name="aaa" />
</TITLE>
跟我要的结果不同,如下:
<?xml version="1.0" encoding="utf-8"?>
<TITLE>
<USERS>
<USER name="aaa"/>
</USERS>
</TITLE>
请问我该如何修正程式可以得到我要的结果呢?
谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.170.213
1F:推 totte:XmlNodeList nodes = xmlDoc.GetElementsByTagName("USERS") 01/04 13:09
2F:→ totte:nodes[nodes.Count - 1].AppendChild(xmlElement); 01/04 13:10