我在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)
答案 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