XML:<?xml version="1.0"?>
<log>
<account value="936541e1-942a-4163-9a71-0442a4aa04a8">
<time>12/12/2014 10:10:50 AM</time>
</account>
</log>
我想实现的效果:
<log>
<account value="936541e1-942a-4163-9a71-0442a4aa04a8">
<time>12/12/2014 10:10:50 AM</time>
<time>12/12/2014 10:10:50 AM</time>
</account>
<account value="31316663313216">
<time>12/12/2014 10:10:50 AM</time>
<time>12/12/2014 10:10:50 AM</time>
</account>
</log>
代码: XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("..\\..\\IsaLogXml.xml");
XmlNode root = xmlDoc.SelectSingleNode("log");//查找<log>
System.Xml.XmlNodeList node = root.ChildNodes; //key节点
XmlElement acc; //我不知道怎么定义初始化这个类型的参数。。。
foreach (XmlNode xnacc in node)
{
//XmlElement acc = (XmlElement)xnacc;
if (xnacc.Value != ln[i].AccountID)//不存在
{
acc = xmlDoc.CreateElement("account");//创建一个<acc>节点
acc.SetAttribute("value", ln[i].AccountID);
root.AppendChild(acc);
}
else
{
acc = xmlDoc.GetElementById(ln[i].AccountID);//怎么得到某个节点的element型
}
}
for (int j = 0; j < messages.Count; j++)
{
XmlElement time = xmlDoc.CreateElement("time");//创建一个<time>节点
time.InnerText = DateTime.Now.ToString();//设置文本节点
acc.AppendChild(time);//添加到<acc>节点中
}
错误:Use of unassigned local variable 'acc'
还有acc = xmlDoc.GetElementById(ln[i].AccountID)我知道这是错的,我想知道怎么得到某个节点的element型
------解决思路----------------------
GetElementById要求节点带id属性,不是只有element可以操作,node一样可以,不会写,参考
http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.aspx
http://blog.csdn.net/byondocean/article/details/7220757
------解决思路----------------------
XmlElement acc = null;
acc要初始化