使用c#进行嵌套XML分析

本文关键字:XML 分析 嵌套 使用 | 更新日期: 2023-09-27 18:24:10

破解我的脑袋来解析这个嵌套的xml,im使用XmlNodeList lists=doc。SelectNodes方法,问题是它无法转到下一个DRSites节点。

<FileInfo>
  <DRSites>
    <ASite>X3Os</ASite>
    <SSite>SS</SSite>
    <tots>
      <tot>
        <totno>abx12</totno>
      </tot>
      <tot>
        <totno>cde</totno>
      </tot>
    </tots>
  </DRSites>
  <DRSites>
      <ASite>xya</ASite>
      <SSite>mne</SSite>
      <tots>
        <tot>
          <totno>ew34</totno>
        </tot>
        <tot>
          <totno>fdf5435</totno>
        </tot>
      </tots>
    </DRSites>
</FileInfo>

代码:我的代码(不令人惊叹,只循环通过tots,但没有得到正确的edrsite

 XmlNodeList nodelist = doc.SelectNodes("/FileInfo/DRSites"); // get all <testcase> nodes
            foreach (XmlNode node in nodelist) // for each <testcase> node
            {
                try
                {
                    string AssySite = node.SelectSingleNode("ASite").InnerText;
                    string SortSite = node.SelectSingleNode("SSite").InnerText;
                    XmlNodeList nodelist2 = doc.SelectNodes("tots/tot"); // get all <testcase> nodes
                     foreach (XmlNode node2 in nodelist2)
                     {
                         AssySite = node2.SelectSingleNode("totno").InnerText;       
                     }
                }

使用c#进行嵌套XML分析

使用Linq到XML。解析xml字符串,或从文件加载,您可以执行以下操作:

var DRSiteElements = XElement.Parse(xml).Descendants("DRSites").ToList();