問題タブ [xqilla]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
496 参照

xpath - HTML ドキュメント (Xerces/Xqilla) から XPath 2 を使用してノードを抽出するにはどうすればよいですか?

xerces および xqilla ライブラリを使用して、XPATH2 で html ドキュメントから特定のノードを抽出したいのですが、有効な XPATH 式を構築できないか、コードがどこか間違っています。

私の現在のコード:

何を変更する必要がありますか?

編集:

確認したい HTML ファイルはファイルの大きなコレクションであるため、プログラムや XPATH 式をテストするために小さなサンプル ファイルを作成しました。

これでも、私のプログラムは私の XPATH 式を持つノードを見つけられません。



私の問題に対して 2 つの準最適な解決策を見つけることができました

  • 1. 解決策:
    「*:html/*:head/*:title/text()」のような名前空間を気にしない XPath 式を使用します。
  • 2. 解決策:
    パーサーで DOM 名前空間をオフにします:
    config->setParameter(xercesc::XMLUni::fgDOMNamespaces, false);

名前のない DOM 名前空間のカスタム プレフィックスを手動で設定する方法が見つかった場合、または空のプレフィックスを明示的に指定できる XPath 式があった場合、私はより幸せになるでしょうが、少なくともドキュメントを処理できるようになりました。