1

XML ドキュメント内の要素の正確な位置を見つける方法を探しています。Document を XOM で解析し、通常の方法で処理します。注意が必要なのは、XML ドキュメントにいくつかのスクリプトが埋め込まれており (テキスト ノードのみ)、スクリプトが失敗した場合 (解析、ロジックなど)、ユーザー (これらのスクリプトを作成したユーザー) に正確な行番号を報告したいということです。スクリプトが宣言されました。

最も理想的な方法は、次のようなものです。

int scriptLine = someElement.getFirstChildElement("script").getDeclaringLineNumber();

残念ながら、XOM の有無にかかわらず、これを行う方法を見つけることができませんでした。誰かがアイデアを持っているか、すでにこのようなことを行っている場合、私はいくつかの助けを借りることができます. :-)

4

1 に答える 1

1

昔、私はこれをJDOMで行いました。SAXBuilderを拡張し、startElement()およびendElement()コールバックをインターセプトすることにより、SAXロケーターを使用して行番号情報で特殊な要素の実装を更新できます。コードはまだ周りにあるはずです....はいここに:

http://jdom.org/dist/binary/jdom-contrib-1.1.1.zip

srcディレクトリでLineNumberSAXBuilderを検索します。

XOMには、同じ方法で拡張できるNodeFactoryがあると思います。

于 2011-09-21T15:39:02.590 に答える