(菜鸟) c#.net操作xml问题
xml里面:
<A>
<B>
<C>a</C>
<D></D>
<E></E>
</B>
<B>
<C>b</C>
<D></D>
<E></E>
</B>
...
</A>
我现在想向其中插入节点
<B>
<C>c</C>
<D></D>
<E></E>
</B>
我现在用的XmlDocument直接打开Xml文件 然后读取文件 建立节点
但是有个问题是 我不确定xml里面B节点有没有一个<C>c</C>的节点 有的话我就只修改该B节点中的属性值 没有才添加
新手 求验证是否存在的方法....
[解决办法]
- C# code
XmlDocument xml = new XmlDocument(); xml.Load("1.xml"); XmlNodeList xl = xml.SelectNodes(@"A/B/C"); bool bfound = false; XmlNode xnfd = null; foreach (XmlNode xn in xl) { if(xn.InnerText.Equals("c")) { bfound = true; xnfd = xn; break; } } if(bfound) { xnfd.InnerText = "newc"; xml.Save("1.xml"); } else { //没有,加新的 }
[解决办法]
- C# code
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("XMLFile1.xml"); var elmtsB = xmlDoc.SelectNodes("//B"); foreach (XmlNode elB in elmtsB) { foreach (XmlNode el in elB.ChildNodes) { if (el.Name == "C") { Console.WriteLine("It has C"); break; } } }