2015-06-11 9 views
0

Я пытаюсь разобрать xml. Все узлы имеют открывающие и закрывающие теги, за исключением одного узла, что в некоторых строках в имеет только этот тег: <persons/>xml parsing error (xpath, HTMLagilitypack)

В большинстве случаев это будет выглядеть так: <persons> ... </persons> Я не могу получить значения из XML, если этот узел не закрывается как этот

Вот мой код:

foreach (HtmlNode man in bm.SelectNodes(".//persons")) 
{ 
    //store values 
}          

Как я могу решить эту проблему? Даже если некоторые узлы, как это в начале:

<persons> </persons> 

если есть тег, как это в середине файла

<persons/> 

Я не могу получить оставшиеся <persons> </persons> значения от остальных линий

ответ

0

Почему вы используете 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; 
    } 
+0

Я построил все свой проект с использованием HTML ловкости пакета ....... – ABCDD

+0

, что это хорошо, то вы не должны использовать htmlnode, вы можете использовать XmlElement для дока. SelectNodes (".// человек") –