1

iPhone開発初心者です。解析時にCDATAタグを無視したいのですが、それに続くHTMLタグをテキストと見なすためです。コンテンツだけを表示したいので、パーサーにCDATAタグを無視させたいです。

[CDATA[<br /><p class="author"><span class="by">By: </span>By Sydney Ember</p><br><p>In the week since an </p>]].

CDATA タグを無視する方法はありますか? ソースを 2 回解析してコンテンツのみを表示する方法はありますか?

サンプルコードを教えてください。助けてください。ありがとう。

4

2 に答える 2

4

CDATA コンテンツを CDATA ではなく XML として扱うと、パーサーがエラーをスローします (HTML が XHTML と HTML の奇妙な組み合わせであり、整形式でないため)。

HTML を取得する場合は、XML を解析し、ノードのテキスト コンテンツを抽出してから、そのテキストを HTML として解析します。

于 2010-01-25T13:38:41.557 に答える
1

CDATA タグを無視する方法はありません。これは xml 仕様の一部であり、パーサーはこれを尊重する必要があります。

以前の質問に対するこの回答のアイデアが気に入らない場合は、CDATA セクションの内容を取得して、再度 XML として解析できます。ただし、これはあまりお勧めできません。CDATA の内容が有効な xml になるかどうかはわかりません (おそらくそうではありません)。

CDATA セクションに上記のフォームが含まれていることを 100% 保証できる場合は、おそらく文字列操作を使用してデータを取得できます (つまりstring replace '<span class="by">By: </span>' with '')。

xmlはどこから来ていますか?サービスの所有者と話し、次のような説明ではなく、送信してもらうことをお勧めします。

<description>
  <author>By Sydney Ember</autho>
  <text>In the week since an </text>
</description>

S

于 2010-01-25T13:45:39.800 に答える