根据给定的信息,本文将详细解释如何在Java中编写与读取XML文件的过程,并通过具体的代码示例来加深理解。 ### Java中写入XML文件 在Java中,编写XML文件通常涉及以下几个步骤: 1. **创建文档对象**:首先需要创建一个`Document`对象,它是XML文档的根节点。这可以通过`DocumentBuilder`类完成。 2. **构建DOM树**:使用`Document`对象添加元素、属性等来构建整个文档对象模型(DOM)树。 3. **保存到文件**:将构建好的DOM树转换为实际的XML文件并保存到磁盘上。 #### 示例代码: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class WriteXML { public static void main(String[] args) { try { // 创建 DocumentBuilderFactory 和 DocumentBuilder 对象 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); // 创建根元素 Document doc = dBuilder.newDocument(); Element rootElement = doc.createElement("employees"); doc.appendChild(rootElement); // 添加子元素 Element employee = doc.createElement("employee"); rootElement.appendChild(employee); // 添加属性 Element id = doc.createElement("id"); id.appendChild(doc.createTextNode("1")); employee.appendChild(id); // 将 Document 对象写入文件 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("employees.xml")); transformer.transform(source, result); System.out.println("XML file created successfully!"); } catch (Exception e) { e.printStackTrace(); } } } ``` ### Java中读取XML文件 读取XML文件时,主要使用`DocumentBuilder`来解析XML文件并创建`Document`对象,然后通过遍历该对象可以访问XML文件中的数据。 1. **创建`DocumentBuilderFactory`**:初始化一个`DocumentBuilderFactory`实例。 2. **创建`DocumentBuilder`**:通过`DocumentBuilderFactory`创建`DocumentBuilder`实例。 3. **解析XML文件**:使用`DocumentBuilder`的`parse()`方法解析XML文件。 4. **遍历DOM树**:通过`getElementsByTagName()`等方法获取特定节点,并从中提取所需的数据。 #### 示例代码: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import java.io.File; public class ReadXML { public static void main(String[] args) { try { // 创建 DocumentBuilderFactory 和 DocumentBuilder 对象 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(new File("employees.xml")); // 可选: 规范化DOM树 doc.getDocumentElement().normalize(); // 获取所有员工节点 NodeList nodeList = doc.getElementsByTagName("employee"); // 遍历每个员工节点 for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) node; // 获取每个员工的属性 String id = element.getElementsByTagName("id").item(0).getTextContent(); // ...处理其他属性... System.out.println("Employee ID: " + id); } } } catch (Exception e) { e.printStackTrace(); } } } ``` 以上就是关于Java中编写与读取XML文件的具体实现过程。通过上述示例代码可以看出,无论是写入还是读取XML文件,都离不开`DocumentBuilderFactory`、`DocumentBuilder`以及`Document`这几个核心类的使用。此外,在读取XML文件时,还需要熟练掌握DOM树的遍历技巧,以便准确地定位到所需的节点。
- 小李广2014-07-10能读取某种方式
- xxuch2013-06-15只能读取某种方式的。我想要的 读取不了....
- 粉丝: 0
- 资源: 59
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python实现Excel表格合并
- Java实现读取Excel批量发送邮件.zip
- 【java毕业设计】商城后台管理系统源码(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】开发停车位管理系统(调用百度地图API)源码(springboot+vue+mysql+说明文档).zip
- 星耀软件库(升级版).apk.1
- 基于Django后端和Vue前端的多语言购物车项目设计源码
- 基于Python与Vue的浮光在线教育平台源码设计
- 31129647070291Eclipson MXS R.zip
- 基于Html与Java的会员小程序后台管理系统设计源码
- 基于Python的RabbitMQ消息队列安装使用及脚本开发设计源码