タグとラベルをバッチ モードで識別するために、静的な JSP/HTML ページを解析する必要があります。
プログラムが実行され、指定された WAR またはフォルダー内のビュー ファイルが読み取られ、解析されます。実行時ではないため、DOM は使用できません。
したがって、XPathを使用して実行できるかについての指示が必要です
XPathは、XMLドキュメントでのみ使用するように設計されています。
したがって、JSP/HTMLをXMLドキュメントに解析できるパーサーを探す必要があります。JSPの代わりにJSPXを使用していた場合は、JavaSEの組み込みJAXPを使用しただけです。
InputStream input = getInputStreamOfJspOrHtml();
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
// ...
ただし、おそらくスクリプトレットでいっぱいのレガシーJSPや、XMLとしてまったく検証されない整形式でないHTML(<br>
の代わりに使用するなど<br/>
)を使用している場合は、寛大なHTMLパーサーを使用するのが最善の策です。これは、 JTidyなどの無効な構文を許容します。
InputStream input = getInputStreamOfJspOrHtml();
Document document = new Tidy().parseDOM(input, null);
// ...
いずれにせよorg.w3c.dom.Document
、手元にあると、通常の方法でXPathを実行できます。