正则表达式剥离标签,保留CDATA

Kev*_*ody 0 regex xml 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>
Run Code Online (Sandbox Code Playgroud)

会回来

I'm plain text. I'm text in cdata... and may contain html, yikes!
Run Code Online (Sandbox Code Playgroud)

我读过没有用常规语言解析不规则语言,但我确信这是可行的.你觉得伙计们怎么样?

谢谢,凯文

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

Joh*_*don 5

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

这个问题已被打死.