2015-07-22 1 views
0

Я создаю объект XML в C# и имею html строки, которые я бы хотел проанализировать в XElements, чтобы их вставить, однако я делаю не хочу, чтобы обернуть их в родительском элементе, поскольку они предназначены для вставки в один уже.Как создать несколько XElements из строки html в C#

Html:

<p>Hello world</p><br /><p>Second <b>Line</b></p> 

Предусмотренное Xml:

<p>Hello world</p> 
<br /> 
<p>Second <b>Line</b></p> 

В настоящее время единственным способом я могу сделать это, если я использую ниже код, но я не хочу, чтобы внешний тег

XElement.Parse("<parenttag>" + html + "</parenttag>") 

NB. Эти элементы будут вставлены в родительский элемент для формирования правильного xml, . Мой целевой результат для этой строки html представляет собой массив элементов xml (т. Е. 2 ​​p элементов и a).

+3

Если вы собираетесь использовать нижестоящие, пожалуйста, предоставьте какой-либо контекст, я не знаю, что не так с этим вопросом .. это против правил xml? – alsco77

ответ

2

После успешного анализа строки путем обертывания внешнего тега, вы должны позвонить .Elements(), который вернет детей на элемент.

var html = "<p>Hello world</p><br /><p>Second <b>Line</b></p>"; 
var root = XElement.Parse("<parenttag>" + html + "</parenttag>") 
var children = root.Elements(); 
// children.Count() == 3 
+0

Привет, это сработало. Спасибо, почему-то полностью не удалось проверить свойства корневого элемента. – alsco77

Смежные вопросы