我想在我的XML文档中为所有XPath
标记添加<definition>
属性。 XPath的值将来自每个<term>Test123</term>
标记内的嵌套标记<definition>
。我正在使用import org.w3c.dom.Document;
对象。当我用我很长的XML文件运行这一行时,它告诉我有{39}个<definition>
标记的实例:
System.out.println(inputDOM.getDocumentElement().getElementsByTagName("definition"));
所以最终结果是必须有一个Document
对象设置了术语标签中的所有定义标签,例如
<definition XPath="Test123"> <term>Test123</term> </definition>
答案 0 :(得分: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>
标记并设置一个新的attributs“XPath”,其值是<term>
子标记的文本内容