正则表达式去掉标签,保留CDATA

可能重复:
RegEx匹配除XHTML自包含标签之外的开放标签

大家好,

我知道每个人都喜欢一个正则表达式问题,所以这里是我的。 我有一个XML树,其中一些节点包含CDATA。 我如何只返回一个包含数据的字符串?

让我们看一个例子

<xml>
  <node>I'm plain text.</node>
  <node><![CDATA[I'm text in cdata... and may contain html, <strong>yikes!</strong>]]></node>
</xml>

会返回

I'm plain text. I'm text in cdata... and may contain html, yikes!

我已阅读过有关不使用常规语言解析不规则语言的问题,但我相信这是可行的。 你认为什么人?

谢谢,凯文

编辑:这是一个需要快速和肮脏的解决方案来处理几行XML的问题。 我对最初的拒绝承认感到惊讶,但从进一步阅读(特别是后面提供的链接)我看到有经验的程序员知道这是应该尽可能避免的事情。 活到老,学到老。 谢谢。


不要使用正则表达式,使用XML / HTML解析器。

这个问题已被打死。


看一看解决这个问题有多困难的例子。

链接地址: http://www.djcxy.com/p/76869.html

上一篇: Regex to strip tags, retain CDATA

下一篇: JAVA Regex to remove html tag and content