使用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;
}
}
使用Linq到XML。解析xml字符串,或从文件加载,您可以执行以下操作:
var DRSiteElements = XElement.Parse(xml).Descendants("DRSites").ToList();