4

Java のどの XML パーサーが (あるとしても) 解析する xml 要素のバイト オフセットを提供できるかを知りたいです。

私は Lucene を使用して XML ファイルのインデックスを作成しています。特定の単語を検索するときは、出力に XML Element 、ファイル名、およびバイト オフセットを含めて、そのオフセットをすばやく検索できるようにする必要があります。

4

2 に答える 2

4

VTD-XMLを見てください:http://vtd-xml.sourceforge.netVTDNav.getContentFragment()要素のオフセットと長さをエンコードします:javadoc

オフセットをintにキャストすることで取得します(int) VTDNav.getContentFragment()

于 2012-11-24T18:10:24.260 に答える
0

StAX (javax.xml.stream) を考えてみましょう。これは最初の例です。

    XMLInputFactory f = XMLInputFactory.newInstance();
    XMLStreamReader xr = f.createXMLStreamReader(new FileReader("test.xml"));
    while (xr.hasNext()) {
        int n = xr.next();
        Location l = xr.getLocation();
        switch (n) {
        case XMLStreamReader.START_ELEMENT:
            System.out.println(l.getColumnNumber());
            System.out.println(l.getLineNumber());
                                ... more 
            break;
        }
    }
于 2012-11-24T18:20:19.043 に答える