首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

(初学者) c#net操作xml有关问题

2012-06-05 
(菜鸟) c#.net操作xml问题xml里面:ABCa/CD/DE/E/BBCb/CD/DE/E/B.../A

(菜鸟) 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;                    }                                    }                             } 

热点排行