gpt4 book ai didi

java - 如何在 Java 中获取属于另一个具有特定属性的标签的 XML 标签?

转载 作者:行者123 更新时间:2023-11-30 10:53:52 25 4
gpt4 key购买 nike

我想从另一个用我选择的属性指定的标签中获取一个标签。例如,在这个 XML 文件中,我如何继续打印学生 393 的标记 85?

<?xml version="1.0"?>
<class>
<student rollno="393">
<firstname>dinkar</firstname>
<lastname>kad</lastname>
<nickname>dinkar</nickname>
<marks>85</marks>
</student>
<student rollno="493">
<firstname>Vaneet</firstname>
<lastname>Gupta</lastname>
<nickname>vinni</nickname>
<marks>95</marks>
</student>
<class>

我正在用 Java 编写并使用 JDom,如下所示

 NodeList nList = doc.getElementsByTagName("student");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
Element eElement = (Element) nNode;
System.out.println("Student roll no : " + eElement.getAttribute("rollno"));
System.out.println("First Name : "+ eElement.getElementsByTagName("firstname").item(0).getTextContent());
System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());
System.out.println("Nick Name : "+ eElement.getElementsByTagName("nickname").item(0).getTextContent());
System.out.println("Marks : " + eElement.getElementsByTagName("marks").item(0).getTextContent());
}

谢谢!

最佳答案

您可以使用以下 XPath 表达式找到 rollno 属性等于 393student 元素,然后返回相应的 标记子元素 :

//student[@rollno='393']/marks

我一般不熟悉 JDom 或 Java,但 JDom 似乎支持 XPath:

  1. Looking for JDOM2 XPath examples
  2. XPath with JDOM : JDOM « XML « Java

关于java - 如何在 Java 中获取属于另一个具有特定属性的标签的 XML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com