一、首先了解一些基本的概念:
1.JAXP
Java的XML解析API
2.DOM
Document Object Model的缩写,意思是文档对象模型(又叫节点模型、树模型),它的作用在于首先将XML文件加载到内存,再任意的读取;所有它的优点是可以修改,方便灵活的读取,缺点是消耗内存。
3.SAX
简单XML的API,基于事件模型,事件流程是:读文档->-循环(读节点->读节点内容->结束读节点)->结束读节点;这样做的优点是可以读取大的XML,节约内存;缺点是不能修改,并且必须按照顺序读取。基于SAX,出现了DOM4j和JDOM两个优秀的API。
1.JDOM
将DOM和SAX的功能结合在一起,大大的简化了DOM和SAX;但是JDOM直接为JAVA服务,不够灵活,并且如果文档超出10M,就会出现内存溢出现象。
2.DOM4J
由于使用了大量接口,所以比JDOM灵活;完全支持JAXP、DOM、SAX,性能更加优异,Hibernate中解析XML使用的也是DOM4J。
二、使用DOM4J读写XML文档
1.写XML文档
package p1;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Test3 {
public static void main(String[] args) throws Exception {
//创建文档
Document doc = DocumentHelper.createDocument();
//保存文档
String fileName = "文件名";
OutputStreamWriter outWriter = new OutputStreamWriter(
new FileOutputStream(fileName),"UTF-8");
//创建有缩进的格式对象
OutputFormat format = OutputFormat.createPrettyPrint();
//连接输出流和格式对象,得到字符流打印机
XMLWriter writer = new XMLWriter(outWriter,format);
//添加根节点
doc.addElement("节点名");
//添加子节点,节点名.addElement("节点名");
//添加文本,节点名.addText("文本");
//添加属性,节点名.addAttribute(键,值);
//写入流
writer.write(doc);
//关闭流
writer.close();
}
}
2.读XML文档
package p1;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test4 {
public static void main(String[] args) throws Exception {
//读取XML文档到Document对象
SAXReader reader = new SAXReader();
//设置读取格式
reader.setEncoding("UTF-8");
//设置读取文件路径
String fileName = "XXX.xml";
//创建文档对象
Document doc = reader.read(new File(fileName));
//获得根节点
Element ele = doc.getRootElement();
//获得一个子节点,父节点.Element("子节点名");
//获得对个子节点,父节点.Element("子节点");
//获得节点的父节点,节点.getParent();
//获得当前节点名,节点.getName();
//获得当前节点文本,节点.getText();
//获得子节点文本,节点.ElementText("子节点名");
//获得当前节点属性值,节点.valueOf("@属性名")或者节点.attributeValue("属性名");
}
}
分享到:
相关推荐
总的来说,TinyXml提供了简洁的API来处理XML文档,理解其节点类型、元素与节点的区别、遍历机制以及内存管理规则,是有效使用TinyXml的关键。在实际编程中,应结合具体需求灵活运用这些知识点。
TinyXml使用总结中的文件可能包括了一些实际使用案例、注意事项和常见问题解答。例如,如何处理命名空间、空格和换行、错误检查以及优化性能等。在实际开发中,这些经验总结可以帮助我们更好地理解和使用TinyXml,...
TinyXml是一个轻量级的XML解析库,专为C++设计,它允许程序开发者方便地读写XML文档。...通过阅读《TinyXml使用总结.doc》文档,你可以更深入地了解这个库的各种用法和技巧,进一步提升你的XML编程能力。
C# 读写 XML 文件总结 C# 读写 XML 文件是软件开发中常见的操作。本文总结了 C# 读写 XML 文件的基本方法,包括创建、修改和删除 XML 节点。 创建 XML 节点 C# 中使用 `XmlDocument` 类来创建和操作 XML 文件。...
本项目是对XML文件读写操作的综合总结,旨在提供一个实用的XML处理工具集。 首先,我们要关注的是“封装好的XML文件的读和写工程”。在编程中,通常我们会创建类或函数库来简化XML文件的操作。读取XML文件时,我们...
在Java中写入XML,可以选择使用上述的API将对象序列化为XML,或者使用`java.io`和`javax.xml.transform`包中的类手动构建XML。`Transformer`类可以将`Source`对象(如DOM节点)转换成`Result`对象(如写入文件),...
### ASP.NET 操作 XML 总结 在 ASP.NET 开发中,XML 文件作为一种常见的数据交换格式,被广泛应用于配置文件、数据存储等方面。本文将基于提供的代码片段,深入探讨 ASP.NET 中操作 XML 的方法,包括加载、添加元素...
通过提供的文档《TinyXml使用总结111.doc》和博客文章《TinyXML:一个优秀的C++ XML解析器 - Phinecos(洞庭散人) - 博客园.mht》,你可以深入理解TinyXML的用法,包括作者在实践中遇到的问题、解决方案和经验分享,...
ELEMENT 元素名称 使用规则>`,`使用规则`可以是`#PCDATA`、`EMPTY`、`ANY`或其他元素组合。 - 定义属性:`<!ATTLIST 元素名称 属性名 属性值类型 设置说明>`,属性值类型包括`CDATA`、枚举值(ENUMERATED)、`ID`...
学习TinyXML的过程中,`TinyXml使用总结.doc`、`TinyXML指南.doc`、`TinyXML中文文档.doc`、`TinyXML中文文档,TinyXPath - C-C++ - 天翼空间_应用工厂.mht`以及`TinyXML学习资料.pdf`这些文档会提供详细的教程和示例...
### XML自学总结与知识点解析 XML(eXtensible Markup Language)是一种用于标记电子文档的规范,被设计用来传输和存储数据。以下是从标题、描述、标签及部分内容中提炼出的关键知识点,旨在全面理解XML的基本概念...
### Borland C++ Builder 6 XML处理总结 #### 一、安装XML处理组件 在Borland C++ Builder 6中处理XML文件时,需要安装一个名为`TXMLDocument`的组件。该组件属于Borland Internet Components的一部分,通常在安装...
在总结以上知识点后,我们发现XML技术在现代数据管理与交换中扮演了不可或缺的角色。由于其开放性和灵活性,XML不仅被应用于网络数据交换,还在企业内部数据整合、内容管理等多个领域发挥着重要作用。随着技术的发展...
每个XML文档的开头通常会有一个XML声明,指明文档所使用的XML版本。XML元素必须成对出现,即每个开始标签都需要有相应的结束标签。这一点与HTML不同,HTML中有些元素可以省略结束标签。XML的标签名称是大小写敏感的...
总结起来,TinyXML是C++开发中处理XML文档的利器,它提供了一种简单的方式来解析、操作和生成XML文件。通过熟练掌握TinyXML,开发者可以更高效地进行数据交换和配置管理,提升项目的可维护性和扩展性。
在本文中,我们将深入探讨 LINQ to XML 的核心概念,以及如何使用 XDocument 和 XElement 类进行查询、添加等操作。 首先,让我们了解 `XDocument` 和 `XElement` 的区别。`XDocument` 代表整个 XML 文档,包括文档...
XML 解析技术和文档定义形式 XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。在进行 XML 开发时,需要了解 XML 的解析技术和文档定义形式。下面将详细介绍 XML 解析技术和文档定义形式。 ...
1.3.4 处理过程总结... 15 .4 相关技术... 17 1.4.1 超文本标记语言(Hypertext Markup Language)... 17 1.4.2 级联样式单(Cascading Style Sheets)... 17 1.4.3 可扩展的样式语言(Extensible Style Language)....
总结,PowerBuilder 9为处理XML文件提供了强大的支持,通过XMLDocument对象和DOM解析器,我们可以轻松地读取、写入和操作XML数据。这些功能使PB9成为开发涉及XML的应用的理想工具,帮助开发者高效地完成数据交换和...
总结来说,C#中的XML操作提供了多种方式来处理XML文件,包括使用XmlDocument、XmlNodeReader/XmlWriter以及LINQ to XML。这个名为“C# xml读写操作”的项目为这些操作提供了封装,便于开发者快速、方便地进行XML数据...