如何在Java中从XML字符串中获取所有元素的值?

2022-09-03 08:23:27

我有XML格式的字符串。我想阅读它并获取元素的值。

我已经尝试过Java JAXBContext unmarshell,但这需要创建类,这对我来说不是必需的。

字符串:

<customer>
    <age>35</age>
    <name>aaa</name>
</customer>

我想获得年龄姓名的值。


答案 1

这是你的 xml:

String xml = "<customer><age>35</age><name>aaa</name></customer>";

这是解析器:

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource src = new InputSource();
src.setCharacterStream(new StringReader(xml));

Document doc = builder.parse(src);
String age = doc.getElementsByTagName("age").item(0).getTextContent();
String name = doc.getElementsByTagName("name").item(0).getTextContent();

答案 2

JSoup对XML有很好的支持

import org.jsoup.*     
import org.jsoup.nodes.*   
import  org.jsoup.parser.*

//str is the xml string 
String str = "<customer><age>35</age><name>aaa</name></customer>"
Document doc = Jsoup.parse(str, "", Parser.xmlParser());
System.out.println(doc.select("age").text())

推荐