Java DOM 解析 XML 字符串318


DOM(文档对象模型)是一种树形结构,用于表示 XML 文档。它提供了编程接口来访问和操作 XML 元素。使用 Java DOM 解析 XML 字符串涉及以下步骤:

1. 创建 DocumentBuilderFactory

创建 DocumentBuilderFactory 对象,它充当 DocumentBuilder 工厂。```java
DocumentBuilderFactory factory = ();
```

2. 创建 DocumentBuilder

使用 DocumentBuilderFactory 创建 DocumentBuilder 对象,它用于解析 XML 文档。```java
DocumentBuilder builder = ();
```

3. 解析 XML 字符串

将 XML 字符串解析为 Document 对象。```java
String xmlString = "John30";
Document document = (new InputSource(new StringReader(xmlString)));
```

4. 获取根元素

获取文档的根元素。```java
Element rootElement = ();
```

5. 遍历元素

使用 () 遍历根元素的子元素。```java
NodeList nodes = ();
for (int i = 0; i < (); i++) {
Node node = (i);
if (() == Node.ELEMENT_NODE) {
Element element = (Element) node;
(());
}
}
```

6. 获取元素值

使用 () 获取元素的值。```java
String name = ("name").item(0).getTextContent();
```

7. 设置元素值

使用 () 设置元素的值。```java
Element ageElement = ("age").item(0);
("31");
```

8. 添加元素

使用 () 将新元素添加到文档中。```java
Element newElement = ("newElement");
(newElement);
```

9. 保存修改

使用 TransformerFactory 创建 Transformer 对象,并将修改后的文档保存到文件中或字符串中。```java
TransformerFactory transformerFactory = ();
Transformer transformer = ();
(new DOMSource(document), new StreamResult(new File("")));
```

示例代码

以下是一个完整的示例代码,演示如何解析 XML 字符串并进行修改:```java
import ;
import ;
import ;
import ;
import ;
public class JavaDomParseXmlString {
public static void main(String[] args) {
try {
// 创建 DocumentBuilderFactory
DocumentBuilderFactory factory = ();
// 创建 DocumentBuilder
DocumentBuilder builder = ();
// 解析 XML 字符串
String xmlString = "John30";
Document document = (new InputSource(new StringReader(xmlString)));
// 获取根元素
Element rootElement = ();
// 修改元素值
Element ageElement = ("age").item(0);
("31");
// 添加元素
Element newElement = ("newElement");
(newElement);
// 保存修改
TransformerFactory transformerFactory = ();
Transformer transformer = ();
(new DOMSource(document), new StreamResult(new File("")));
("XML 字符串已成功解析并修改。");
} catch (Exception e) {
();
}
}
}
```

使用 Java DOM 解析和修改 XML 字符串是一种简单且强大的方法。它允许程序员以编程方式访问和操作 XML 文档,从而实现各种 XML 处理任务。

2024-12-04


上一篇:Java 代码编码格式:最佳实践和准则

下一篇:Java 数据库图书管理系统