Java 从子元素创建XPath

Java 从子元素创建XPath,java,xml,dom,Java,Xml,Dom,我想为XML文档中的所有标记添加一个XPath属性。XPath的值将来自每个标记中的嵌套标记Test123。我正在使用import org.w3c.dom.Document对象。当我用很长的XML文件运行这一行时,它告诉我有539个标记实例: System.out.println(inputDOM.getDocumentElement().getElementsByTagName("definition")); 因此最终的结果是,必须有一个文档对象,该对象已经设置了术语标记中的所有定义标记,例

我想为XML文档中的所有标记添加一个
XPath
属性。XPath的值将来自每个
标记中的嵌套标记
Test123
。我正在使用
import org.w3c.dom.Document对象。当我用很长的XML文件运行这一行时,它告诉我有539个
标记实例:

System.out.println(inputDOM.getDocumentElement().getElementsByTagName("definition"));
因此最终的结果是,必须有一个
文档
对象,该对象已经设置了术语标记中的所有定义标记,例如


Test123

试试这样的方法

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());
}
nodelistdefinitionelements=inputDOM.getElementsByTagName(“定义”);
对于(int i=0;i

首先,我们得到所有的
标签。之后,我们迭代每个
标记,并设置一个新的属性“XPath”,其值是
子标记的文本内容。是如何添加属性,还是如何从属性中查找节点,或者其他什么?如何将
XPath
属性添加到正确的节点请执行以下操作:
((元素)current.getElementsByTagName(“术语”).getTextContent()
谢谢。如何将这些更改应用于新的
文档
对象实例?或者我应该将其应用于
inputDOM
变量吗?我认为更改会自动保存到当前文档中。如果您想从文档中获取xml字符串,请参阅本文:这非常有效。非常感谢你。我感谢你的帮助。