使用java JDK中的DOM解析xml
import java.io.FileOutputStream; import java.io.PrintWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** DOM生成与解析XML文档 */ public class DomDemo{ /** * 创建xml文件 * @param filePath 文件完整路径 */ public void createXml(String filePath) { try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.newDocument(); Element root = document.createElement("employees"); document.appendChild(root); Element employee = document.createElement("employee"); Element name = document.createElement("name"); name.appendChild(document.createTextNode("雨无声")); employee.appendChild(name); Element sex = document.createElement("sex"); sex.appendChild(document.createTextNode("m")); employee.appendChild(sex); Element age = document.createElement("age"); age.appendChild(document.createTextNode("30")); employee.appendChild(age); root.appendChild(employee); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(document); transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(filePath)); StreamResult result = new StreamResult(pw); transformer.transform(source, result); System.out.println("生成XML文件成功!"); } catch (Exception e) { System.out.println(e.getMessage()); } } /** * 解析xml,传入完整路径 */ public void parserXml(String fileName) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(fileName); NodeList employees = document.getChildNodes(); for (int i = 0; i < employees.getLength(); i++) { Node employee = employees.item(i); NodeList employeeInfo = employee.getChildNodes(); for (int j = 0; j < employeeInfo.getLength(); j++) { Node node = employeeInfo.item(j); NodeList employeeMeta = node.getChildNodes(); for (int k = 0; k < employeeMeta.getLength(); k++) { System.out.println(employeeMeta.item(k).getNodeName()+ ":" + employeeMeta.item(k).getTextContent()); } } } System.out.println("解析完毕"); } catch (Exception e) { System.out.println(e.getMessage()); } } public static void main(String[] args) { DomDemo dd = new DomDemo(); //dd.createXml("D:\\test.xml"); dd.parserXml("D:\\test.xml"); } }
相关推荐
DOM解析器将整个XML文件加载到内存中,形成一个树形结构,允许开发者通过节点操作来访问和修改XML文档。这种方式的优点在于方便、直观,但缺点是占用内存较大,不适用于处理大型XML文件。 首先,我们需要了解XML的...
本文将深入探讨如何使用DOM读取XML文件,并结合提供的标签“源码”和“工具”,提供实用的代码示例和相关知识。 首先,理解DOM的基本概念。DOM将XML文档看作一个由节点组成的树形结构,其中根节点代表整个文档,而...
本教程主要关注使用Qt的DOM(Document Object Model)模型来读取XML文档。 DOM是一种树型结构,它将XML文档视为一系列可编程的对象。在Qt中,我们使用`QDomDocument`类来表示整个XML文档,而`QDomElement`、`...
**DOMProject(通过DOM读取XML)** 在IT领域,XML(eXtensible Markup Language)是一种被广泛用于存储和传输数据的标记语言。它的结构清晰,易于机器和人类阅读,使得XML成为Web服务和应用程序间交换数据的理想...
读取XML文件使用DOM时,通常分为以下几个步骤: 1. 加载XML文件:使用特定的API(如JavaScript中的`XMLHttpRequest`或Java的`DocumentBuilderFactory`)加载XML文件到内存中。 2. 解析XML:调用解析器(如Java的`...
学习XML语言很重要的一章节,其中的第八章节,掌握如何用DOM操作XML文档
标题"DOM操作XML,XPATH技术"指的是在编程中处理XML文档时,使用Document Object Model (DOM) 和XPath两种主要技术。DOM是一种标准,用于表示XML和HTML文档的树形结构,它允许程序和脚本动态更新、添加、删除和查找...
在本主题“vc DOM操作xml,从Tree到Xml,xml到Tree”中,我们将深入探讨如何利用VC++(Microsoft的C++编译器)来实现DOM操作XML,并将XML数据与树形控件进行交互。 首先,我们需要了解XML的基本概念。XML...
总结来说,通过DOM操作XML文档向表格添加数据是一项常见的Web开发任务,它涉及XML文档的读取、解析,以及HTML元素的动态创建和更新。这一过程对于构建交互式和数据驱动的Web应用程序至关重要。通过理解并熟练运用DOM...
文档对象模型 节点和节点树 使用DOM加载XML文档 使用DOM访问、创建和修改节点
在Java中,`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类是DOM操作的核心。 在这个"java.dom操作xml完整的例子"中,我们可以预见到以下关键知识点: 1. **XML文档的解析**:首先,我们...
虽然Java标准库提供了DOM操作的基本功能,但一些第三方库如JDOM、DOM4J提供了更友好的API和额外的功能,可以简化XML操作。 总之,Java DOM提供了一种强大的方式来操作XML,通过理解和熟练运用DOM API,我们可以...
- 相较于DOM,SAX是一种事件驱动的解析器,只在需要时读取XML的一部分,因此内存占用小,适合处理大型XML文件。 - `org.xml.sax`包提供了SAX解析的核心接口,如`Parser`、`ContentHandler`和`Attributes`。 - `...
总结,JavaScript中的DOM操作XML涉及到创建、加载、查询和修改XML文档。理解这些属性和方法对于在JavaScript中处理XML数据至关重要。无论是在服务器端还是客户端,都能有效地利用这些技术来与XML数据进行交互。
DOM解析器读取整个XML文档到内存中,构建一棵由节点组成的树,这些节点代表了XML文档的所有元素、属性、文本和其他结构。 在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤:...
Javascript里使用Dom操作Xml.docx
Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,...通过使用 DOM 解析 XML 文档,我们可以轻松地访问和操作 XML 文档中的元素和属性,从而实现了对 XML 文档的解析和处理。
读取XML文档同样分为几个步骤: 1. **加载XML文件**:使用`DOMDocument`的`loadXML`或`load`方法加载XML文件: ```php $doc = new DOMDocument(); $doc->load('input.xml'); ``` 2. **遍历DOM树**:通过DOM...
总结一下,Java DOM提供了一套全面的API来处理XML文档,包括创建、修改和读取XML结构。尽管DOM操作相对消耗资源,但其灵活性和强大功能使其成为处理XML的常用工具。对于复杂的XML操作,可以结合使用其他库如JAXB或...
DOM(Document Object Model)是XML文档的一种解析标准,它提供了一种结构化的表示XML文档的方式,使得开发者可以方便地访问和操作XML文档的各个部分。本教程“DOM解析XML应用实例(入门经典案例)”旨在帮助初学者...