0

XML ドキュメント内のすべてのタグにXPath属性を追加したいと考えています。XPath の値は、各タグ内<definition>のネストされたタグから取得されます。オブジェクトを使用しています。非常に長い XML ファイルでこの行を実行すると、タグのインスタンスが 539 あることがわかります。<term>Test123</term><definition>import org.w3c.dom.Document;<definition>

System.out.println(inputDOM.getDocumentElement().getElementsByTagName("definition"));

したがって、最終的には、用語タグからすべての定義タグを設定したオブジェクトが存在する必要がありDocumentます。たとえば、

<definition XPath="Test123"> <term>Test123</term> </definition>

4

1 に答える 1

1

このようなものを試してください

NodeList definitionElements = inputDOM.getElementsByTagName("definition");
for (int i = 0; i < definitionElements.getLength(); i++) {
    Element current = (Element) definitionElements.item(i);
    Node term = current.getElementsByTagName("term").item(0);
    if(term != null && term.getNodeType() == Node.ELEMENT_NODE)
        current.setAttribute("XPath", ((Element) term).getTextContent());
}

まず、すべての<definition>タグを取得します。その後、各タグを繰り返し、子タグ<definition>のテキストコンテンツを値とする新しい属性「XPath」を設定します。<term>

于 2012-10-04T09:48:17.300 に答える