0

我想为我的 XML 文档中的所有标签添加一个XPath属性。<definition>XPath 的值将来自<term>Test123</term>每个标签内的嵌套<definition>标签。我正在使用该import org.w3c.dom.Document;对象。当我用我非常长的 XML 文件运行这一行时,它告诉我有 539 个<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 回答