嘿伙计们,我有一个我需要解析的XML文件,但只针对文本,而不是HTML。以下是节点的示例:
<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy & elegant purse hooks</li><li>Choose from various styles<br></li><li>Stable and reliable</li><li>Makes a great gift! </li></ul> ]]></highlights>
正如您所看到的,CDATA中包含HTML代码,因此当我执行element.Value时,我也会获得标签。有没有简单的方法来获取文本?
谢谢!
答案 0 :(得分:2)
由于CDATA中的数据不是有效的XML,您可以使用HtmlAgilityPack来解析结果:
XDocument xdoc = XDocument.Load("test.xml");
var html = xdoc.Descendants("highlights").First().Value;
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
var result = htmlDoc.DocumentNode.InnerText;
输出:
优雅&amp;优雅的钱包钩选择 从各种风格的表格和 可靠的礼物!
答案 1 :(得分:0)
<literal id="continer" runat="server"/>
continer.text=@"<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy & elegant purse hooks</li><li>Choose from various styles<br></li><li>Stable and reliable</li><li>Makes a great gift! </li></ul> ]]></highlights> ";
或
<div id="continer" runat="server"/>
continer.innerHtml==@"<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy & elegant purse hooks</li><li>Choose from various styles<br></li><li>Stable and reliable</li><li>Makes a great gift! </li></ul> ]]></highlights> ";