如何在c#中从html字符串创建多个XElements

时间:2015-07-22 10:51:53

标签: c# html xml

我在c#中创建一个XML对象,并且我想要解析为XElements以便插入它们的html字符串,但是我希望将它们包装在父元素中因为它们本来是要插入一个。

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元素和br)

1 个答案:

答案 0 :(得分: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