如何使用C#查找元素并在XML文件中编辑其属性

时间:2013-03-13 19:47:15

标签: c# xml

我有一个xml文件:

<srtch Name="tchfn" version="v.1.1.02"  />
<vrttch Name="tchfn 02" version="v.1.1.03"  />
<ghsch Name="tchfn 03" version="v.1.1.04"  />

我需要检查vrttch是否存在,如果是,我需要更改版本。如果不存在则需要创建新条目。

我对C#完全陌生。我试过了xmlreader。我能够检查它的类型元素,但我无法设置属性。

任何帮助都会感激不尽

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题

    public static void Main()
    {
        XmlDocument xDoc = new XmlDocument();
        xDoc.Load("XMLFile1.xml");

        XmlNodeList xNodeList = xDoc.SelectNodes("//vrttch");

        if (xNodeList.Count != 0)
        {
            xNodeList[0].Attributes["version"].Value = "Whateva";
        }
        xDoc.Save("XMLFile1.xml");
    }

您可能遇到的一个问题是xml文件的路径。要找到项目本地路径的正确位置,请点击您的项目,然后点击open in File explorer,然后转到bindebug,这就是您应该将xml文件放在哪里

如果这听起来太难了,那么将路径作为绝对路径可能更容易:

xDoc.Load(@"c:\temp\XMLFile1.xml");

确保将根节点放在XML中,如此

<root>
  <srtch Name="tchfn" version="v.1.1.02"  />
  <vrttch Name="tchfn 02" version="v.1.1.03"  />
  <ghsch Name="tchfn 03" version="v.1.1.04"  />
</root>

答案 1 :(得分:0)

尝试XDocument并调用后代(“vrttch”)查看其是否为空。如果是这样的话就不存在了