1

タグとラベルをバッチ モードで識別するために、静的な JSP/HTML ページを解析する必要があります。

プログラムが実行され、指定された WAR またはフォルダー内のビュー ファイルが読み取られ、解析されます。実行時ではないため、DOM は使用できません。

したがって、XPathを使用して実行できるかについての指示が必要です

4

1 に答える 1

3

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を実行できます。

于 2012-10-30T15:09:03.713 に答える