1

我有一个 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。我能够检查它是否属于类型元素,但我无法设置属性。

任何帮助将不胜感激

4

2 回答 2

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,然后转到bin, debug,这就是您的 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>
于 2013-03-13T19:54:03.210 回答
0

尝试XDocument并调用 Descendents("vrttch") 以查看其是否为空。如果是这样,它不存在

于 2013-03-13T19:52:09.633 回答