java多子节点xml解析
时间: 2023-09-17 19:09:16 浏览: 102
对于Java多子节点的XML解析,可以使用Java自带的DOM解析器或者第三方库如JDOM来实现。下面以DOM解析器为例进行说明:
假设我们有一个如下的XML文件:
```xml
<root>
<person>
<name>Tom</name>
<age>18</age>
</person>
<person>
<name>Jerry</name>
<age>20</age>
</person>
</root>
```
我们想要解析出每个person节点下的name和age节点的值,可以按照如下步骤进行:
1. 创建一个DocumentBuilderFactory对象
```java
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
```
2. 创建一个DocumentBuilder对象
```java
DocumentBuilder builder = factory.newDocumentBuilder();
```
3. 调用DocumentBuilder对象的parse方法解析XML文件,得到Document对象
```java
Document document = builder.parse(new File("example.xml"));
```
4. 通过Document对象得到根节点
```java
Element root = document.getDocumentElement();
```
5. 遍历根节点下的所有person子节点
```java
NodeList personList = root.getElementsByTagName("person");
for (int i = 0; i < personList.getLength(); i++) {
Element person = (Element) personList.item(i);
// 解析name节点和age节点的值
String name = person.getElementsByTagName("name").item(0).getTextContent();
int age = Integer.parseInt(person.getElementsByTagName("age").item(0).getTextContent());
// 输出结果
System.out.println("name: " + name + ", age: " + age);
}
```
上述代码中,我们首先通过`getElementsByTagName`方法得到所有名为`person`的子节点,然后遍历每个`person`节点,通过`getElementsByTagName`方法得到该节点下的`name`和`age`节点,再通过`getTextContent`方法得到节点的文本内容。最后输出结果即可。
需要注意的是,上述代码中的异常处理等细节并未展示,实际应用中需根据具体情况进行处理。
阅读全文