0

重複の可能性:
正規表現は、XHTML の自己完結型タグを除く開始タグに一致します

こんにちは、みんな、

誰もが正規表現の質問を好むことを知っているので、ここに私の質問があります。一部のノードに CDATA が含まれる XML ツリーがあります。データを含む文字列だけを返すにはどうすればよいですか?

例を見てみましょう

<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 を処理するための迅速かつ汚い解決策が必要な問題でした。私は最初の断固たる拒否に驚きましたが、さらに読むと (特に後で提供されるリンクから)、経験豊富なプログラマーはそれが可能な限り避けるべきものであることを知っていることがわかります。生活し、学びます。ありがとう。

4

2 に答える 2

5

正規表現を使用せず、XML/HTML パーサーを使用してください。

この問題は打ちのめされました。

于 2010-06-18T14:23:18.403 に答える
1

この問題を解決するのがいかに難しいかの例として、ボイラーパイプを見てください。

于 2010-06-20T02:42:17.543 に答える