2

sax パーサーを使用して XML ファイルを解析しています。<info>正常に動作しますが、文字列に保存したい HTML が含まれているため、タグのコンテンツを解析したくありません。これを行う方法はありますか?

ありがとう

4

3 に答える 3

2

質問ですが。最善の方法は、ストリームを前処理して、<info></info>自分の間の部分をエスケープすることです。たとえば、SAX パーサーが有効な XML のみを取得するように、入力をオンザフライで変換する入力ストリームのラッパーを作成できます。

于 2009-12-10T13:43:43.397 に答える
0

XML が非常に大きいですか。そうでない場合 - すべてを文字列にロードしてから、XPath クエリを使用して対象のノードにアクセスできます

于 2009-12-10T14:03:46.683 に答える
0

これは疑似コードです。適応してからご使用ください。自己責任。

これは、外側の info タグ内にネストされた <info> タグを処理しません。

init:
  ignore = false;

startElement:
  if (!ignore) {
    if (element.name == "info") {
      ignore = true;
    } else {
      process normally
    }
 }

endElement:
  if (ignore) {
    if (element.name == "info") {
      ignore = false;
    }
  } else {
    process normally
  }
于 2009-12-10T13:43:25.220 に答える