如何读取包含相同组的XML文档

时间:2019-05-13 14:49:23

标签: c# xml attributes xelement

我有一个xml文档,我想从中读取一些数据。 XML文档如下:-

enter image description here

仅供参考-这是我们的应用程序中使用的实际XML文件语法。

现在,我只想从一组说“ 组名=“ AutoSaveView” ”中读取数据。我该怎么做?无论如何,我可以直接搜索包含组AutoSAve的部分,然后从中读取不同标签的值。

我尝试通过以下方式使用XDocument:-

    var doc = theFile.ToXML();
    var groups = doc.Element("resources").Element("group");

此后,我无法进入AutoSave元素。

1 个答案:

答案 0 :(得分:0)

我通过实现如下代码找到了解决方案:-

      var xDocument = file.ToXML();
      var xElementResources = xDocument.Element("resources");

      if (xElementResources != null)
      {
        foreach (XElement element in xElementResources.Descendants("group"))
        {
         string groupName = element.Attribute("name")?.Value;
         if (groupName == "AutoSaveView")
         {
          var labelElements = element.Elements("label");

          foreach (var label in labelElements)
          {
             switch (label.FirstAttribute.Value)
             {
                 case "enableAutoSaveCheckEdit1":
                    this.RibbonControlApplicationButtonCaption = label.Value;
                    break;
             }
          }
        }
       }
     }