C# xml分析错误(xpath、HTMLagilitypack)

C# xml分析错误(xpath、HTMLagilitypack),c#,xml,xpath,xml-parsing,html-agility-pack,C#,Xml,Xpath,Xml Parsing,Html Agility Pack,我正在尝试解析xml。所有节点都有开始和结束标记,除了在中的某些行中只有一个节点有此标记: 在大多数情况下,它看起来是这样的: 当此节点没有像这样关闭时,我无法从xml中获取值 这是我的密码: foreach (HtmlNode man in bm.SelectNodes(".//persons")) { //store values } 我如何克服这个问题?即使某些节点在开始时是这样的: <persons

我正在尝试解析xml。所有节点都有开始和结束标记,除了在中的某些行中只有一个节点有此标记:

在大多数情况下,它看起来是这样的:

当此节点没有像这样关闭时,我无法从xml中获取值

这是我的密码:

foreach (HtmlNode man in bm.SelectNodes(".//persons"))
 {
  //store values
 }                                     
我如何克服这个问题?即使某些节点在开始时是这样的:

<persons> </persons>

如果在文件

中间有一个这样的标签
<persons/>


我无法从剩余的行中获取剩余的

为什么要使用htmlnode?xmlnode就可以了

或者,显示更多代码

你排队了吗?你遇到什么错误了吗

试试这个:

    internal string ParseXML()
    {
        string ppl = "";

        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xmlString);
        foreach (XmlElement node in doc.SelectNodes(".//person"))
        {
            string text = node.InnerText; //or loop through its children as well
            ppl += text;
        }
        return ppl;
    }

这很好,那么您不应该使用htmlnode,您可以对doc.SelectNodes(“.//person”)使用XmlElement