【发布时间】:2011-03-05 11:10:38
【问题描述】:
大家好,
我知道每个人都喜欢正则表达式问题,所以这是我的。我有一个 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 的问题。我对最初的直接拒绝感到惊讶,但通过进一步阅读(特别是从稍后提供的链接)我看到有经验的程序员知道这是应该尽可能避免的事情。活到老,学到老。谢谢。
【问题讨论】:
-
@Piskvor:你为什么要两次链接到同一个问题?
-
是的,明白了……还有两个指向同一个解雇的链接。有用,谢谢。
-
@Tim Pietzcker:糟糕,我的错。没有注意到选择“复制”时会自动创建评论。
-
当有人问用叉子刺自己的脸最好的方法是什么时,最直接的回答是“不要用叉子刺自己的脸”。即使一个人在原则上可以做得更好或更差,根据所采用的技术用叉子刺自己的脸。