java - 从子元素创建 XPath

标签 java xml dom

我想添加 XPath归属于所有<definition>我的 XML 文档中的标签。 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>

最佳答案

尝试这样的事情

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> 的文本内容子标签

关于java - 从子元素创建 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723772/

相关文章:

javascript - 仅使用 Javascript 设置 HR 标签的宽度

java - 如何使用 Camel SMTP 组件和 Camel XML DSL 路由定义发送带附件的电子邮件?

xml - Xpath:比较十进制类型的节点属性

javascript - 如何将 DOM 关键字包装在 span 标签中

java - Hibernate:无法解析配置:hibernate.cfg.xml?

java - Android 首选项屏幕,仅全屏?

javascript - 重置字段后,我不断收到 Uncaught TypeError

java - 如何使用输入大小修饰符打印长类型值?

java - 没有 JMC-Java Mission Controller-FlightRecorder 的 OpenJDK JDK11

java - Kafka 宕机时如何处理 IOException?