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

本文关键字:创建 xelement 字符串 html 中从 | 更新日期: 2023-09-27 18:04:04

我正在c#中创建一个XML对象,并且有html字符串,我想将其解析为xelement以便插入它们,但是我做而不是想要将它们包装在父元素中,因为它们打算插入到一个。

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)

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

一旦你用外部标签成功地解析了字符串,你应该调用.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