【Java编程】DOM XML Parser解析、遍历、创建XML
2020-11-27 00:40
标签:dom xml parser java 解析 DOM 是 W3C 处理 XML 的标准 API,它是许多其它与 XML 处理相关的标准的基础,不仅是 Java,其它诸如 Javascript,PHP,MS .NET 等等语言都实现了该标准,成为了应用最为广泛的 XML 处理方式。当然,为了能提供更多更加强大的功能,Java 对于 DOM 直接扩展工具类有很多,比如很多 Java 程序员耳熟能详的 JDOM,DOM4J 等等,它们基本上属于对 DOM 接口功能的扩充,保留了很多 DOM
API 的特性,许多原本的 DOM 程序员甚至都没有任何障碍就熟练掌握了另外两者的使用,直观、易于操作的方式使它深受广大 Java 程序员的喜爱。 实现 W3C 标准,有多种编程语言支持这种解析方式,并且这种方法本身操作上简单快捷,十分易于初学者掌握。其处理方式是将 XML 整个作为类似树结构的方式读入内存中以便操作及解析,因此支持应用程序对 XML 数据的内容和结构进行修改,但是同时由于其需要在处理开始时将整个 XML 文件读入到内存中去进行分析,因此其在解析大数据量的 XML 文件时会遇到类似于内存泄露以及程序崩溃的风险,请对这点多加注意。 适用范围:小型 XML 文件解析、需要全解析或者大部分解析 XML、需要修改 XML 树内容以生成自己的对象模型 XML DOM将XML文档作为树结构,树结构称为一个节点树。所有的节点可以通过树访问,它们的内容可以被修改或删除,也可以建立新的元素。节点树用于显示节点集和它们之间的联系。下图呈现的是books.XML文件的节点树。 常用的几个对象: 1)Element类: 是Node类最主要的子对象,被广泛使用,在元素中可以包含属性,因而Element中有存取其属性的方法。 2)Node类: Node对象是DOM中最基本的对象,代表了文档树中的抽象节点。但在实际使用中很少会直接使用Node对象,而是使用Node对象的子对象Element,Attr,Text等。 3)NodeList类: 代表了一个包含一个或者多个Node的列表,根据操作可以将其简化的看做为数组。 下面给出一段用于解析的 books.xml片段:
Book.java:该对象是一个实体Bean,其字段信息对应着xml文件里的元素字段,由于篇幅有限,读者自行生成get、set方法 。 运行程序后的效果图: CreateXMLFile.java: 将集合List 特别注意: 对于XML文件中的元素 运行程序后的效果图: Java 处理 XML 的三种主流技术及介绍 http://www.ibm.com/developerworks/cn/xml/dm-1208gub/ XML DOM Node Tree http://www.w3schools.com/dom/dom_nodetree.asp How To Read XML File In Java – (DOM Parser) http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/ How To Create XML File In Java – (DOMParser) http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/ org.w3c.dom(java dom)解析XML文档 http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html 友情提示: 转载请注明出处http://blog.csdn.net/andie_guo/article/details/24844351 ,谢咯! 【Java编程】DOM XML Parser解析、遍历、创建XML 标签:dom xml parser java 解析 原文地址:http://blog.csdn.net/andie_guo/article/details/248443511、前言
DOM XML Parser介绍
DOM XML Parser优缺点
2、XML DOM节点树
3、DOM XML Parser 解析XML文件
package com.andieguo.xmldemo;
public class Book {
private String category;
private String titleLang;
private String title;
private String author;
private Integer year;
private Double price;
@Override
public String toString() {
return "Book [category=" + category + ", titleLang=" + titleLang + ", title=" + title + ", author=" + author + ", year=" + year + ", price=" + price + "]";
}
//生成字段的get、set方法
}
ReadXMLFile.java :解析XML文件并存入Listpackage com.andieguo.xmldemo;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ReadXMLFile {
public static void main(String[] args) {
File file = new File("src/com/andieguo/xmldemo/books.xml");//books.xml文件应放在和ReadXMLFile.java同级的文件夹下
List
4、DOM XML Parser 遍历XML文件
package com.andieguo.xmldemo;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class LoopXMLFile {
public static void main(String[] args) {
loopXMLFile();
}
private static void loopXMLFile(){
try {
File file = new File("src/com/andieguo/xmldemo/books.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(file);
if(doc.hasChildNodes()){
printNote(doc.getChildNodes());
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void printNote(NodeList nodeList){
for(int i=0; i
5、DOM XML Parser 创建XML文件
package com.andieguo.xmldemo;
import java.io.File;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
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;
public class CreateXMLFile {
public static void main(String[] args) {
File file = new File("src/com/andieguo/xmldemo/books.xml");//books.xml文件应放在和CreateXMLFile.java同级的文件夹下
List
参考:
文章标题:【Java编程】DOM XML Parser解析、遍历、创建XML
文章链接:http://soscw.com/index.php/essay/22763.html