問題タブ [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.
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 式があった場合、私はより幸せになるでしょうが、少なくともドキュメントを処理できるようになりました。