Как читать XML-документ, содержащий одинаковые группы - PullRequest
0 голосов
/ 13 мая 2019

У меня есть один XML-документ, и я хочу прочитать некоторые данные из этого. XML-документ похож на ниже: -

enter image description here

FYI - это фактический синтаксис файла XML, используемый в нашем приложении.

Теперь я хочу прочитать данные только из одной группы, скажем group name = "AutoSaveView" . Как бы я это сделал? В любом случае я могу выполнить прямой поиск в разделе, содержащем группу AutoSAve, а затем прочитать значения различных меток из этого.

Я пытался использовать XDocument следующим образом: -

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

После этого я не могу добраться до элемента автосохранения.

1 Ответ

0 голосов
/ 23 мая 2019

Я нашел решение, реализовав код, подобный приведенному ниже: -

      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;
             }
          }
        }
       }
     }
...