首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从XElement获取innerText

从XElement获取innerText
EN

Stack Overflow用户
提问于 2011-03-20 06:02:50
回答 2查看 2.6K关注 0票数 0

嘿,伙计们,我有一个需要解析的XML文件,但只针对文本,而不是HTML。下面是一个节点的示例:

代码语言:javascript
复制
<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy &amp; 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操作时,我也会得到标记。有没有什么简单的方法可以只获取文本?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-20 06:16:01

由于CDATA中的数据不是有效的XML,因此可以使用HtmlAgilityPack来解析结果:

代码语言:javascript
复制
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;

输出:

来自各种stylesStable和reliableMakes的经典优雅的手提包hooksChoose是一件很棒的礼物!

票数 2
EN

Stack Overflow用户

发布于 2011-03-20 06:36:43

代码语言:javascript
复制
<literal id="continer"  runat="server"/>

continer.text=@"<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy &amp; elegant purse hooks</li><li>Choose from various styles<br></li><li>Stable and reliable</li><li>Makes a great gift!  </li></ul>  ]]></highlights> ";

代码语言:javascript
复制
<div id="continer" runat="server"/>

continer.innerHtml==@"<highlights><![CDATA[<ul style="color:#000000;font-size:small;font-family:verdana,geneva,sans-serif"><li>Classy &amp; elegant purse hooks</li><li>Choose from various styles<br></li><li>Stable and reliable</li><li>Makes a great gift!  </li></ul>  ]]></highlights> ";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5365213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档