来源
http://hillen-chan.iteye.com/blog/870365
package com.dheaven.mip.item;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Dom4jDemo implements XmlDocument {
/* (non-Javadoc)写入xml
* @see com.dheaven.mip.item.XmlDocument#createXml(java.lang.String)
*/
public void createXml(String fileName) {
//创建document对象
Document document=DocumentHelper.createDocument();
//为document对象添加一级节点
Element students=document.addElement("students");
//在一级节点下添加二级节点
Element student=students.addElement("student");
Element name=student.addElement("name");
name.setText("刘德华");
Element sex=student.addElement("sex");
sex.setText("男");
try {
/*直接通过write方法输出,如下,此时输出的xml文件中为默认的UTF-8编码,没有格式,空格也没有去除,实际上就是一个字符串;*/
Writer fileWriter=new FileWriter(fileName);
// XMLWriter xmlWriter=new XMLWriter(fileWriter);
/* 用XMLWriter类中的write方法,此时可以自行设置输出格式,比如紧凑型、缩减型:此时输出的xml文件中为gb2312编码,缩减型格式,但是多余的空格已经被清除:*/
OutputFormat format = OutputFormat.createPrettyPrint();//缩减型格式
//OutputFormat format = OutputFormat.createCompactFormat();//紧凑型格式
format.setEncoding("gb2312");//设置编码
//format.setTrimText(false);//设置text中是否要删除其中多余的空格
XMLWriter xmlWriter=new XMLWriter(fileWriter,format);
/*如果想要对xml文件的输出格式进行设置,就必须用XMLWriter类,但是我们又需要保留其中的空格,此时我们就需要对format进行设置,也就是加上一句format.setTrimText(false);
这样就可以既保持xml文件的输出格式,也可以保留其中的空格;element中attribute中的值如果有空格的话在任何情况下是都不会去除空格的;*/
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/* (non-Javadoc)解析xml文件
* @see com.dheaven.mip.item.XmlDocument#parserXml(java.lang.String)
*/
public void parserXml(String fileName) {
File inputXml=new File(fileName);
SAXReader saxReader = new SAXReader();
try {
Document document = saxReader.read(inputXml);
Element employees=document.getRootElement();
for(Iterator i = employees.elementIterator(); i.hasNext();){
Element employee = (Element) i.next();
for(Iterator j = employee.elementIterator(); j.hasNext();){
Element node=(Element) j.next();
System.out.println(node.getName()+":"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
}
分享到:
相关推荐
在易语言中,学习XML解析有助于开发者有效地读取、写入和处理XML文档,实现数据的存取和应用。 易语言XML解析主要涉及到以下几个关键知识点: 1. **XML基础**:首先,我们需要了解XML的基本结构和语法规则,如元素...
本篇将详细探讨Android中的XML解析,特别是PULL解析方式,并讲解如何进行XML的写入操作。 ### 1. Android XML解析概述 XML解析器分为两种主要类型:DOM(Document Object Model)和PULL(Pull Parser)。DOM解析器...
在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...
在IT行业中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于解析,常用于存储和传输数据。C#是.NET框架下的主要编程语言,具有丰富的库支持,使得处理XML文件变得相当简单。当我们...
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
本篇将详细探讨如何解析Excel文件并将其内容写入到XML中。 首先,我们要理解Excel文件的结构。Excel文件通常是二进制的`.xlsx`格式,它由多个基于Open XML标准的XML文件组成,存储在一个压缩的ZIP文件内。我们可以...
1. **XML序列化**:通过创建一个类,该类的属性与XML文档中的元素相对应,然后使用`XmlSerializer.Serialize`方法将对象实例转换为XML字符串。例如,一个表示角色的数据类可能包含姓名、等级、生命值等属性,这些...
本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...
使用`QDomDocument::parse()`函数或者`QFile`与`QTextStream`结合,读取XML文件内容并解析成QDomDocument对象。 ```cpp QFile file("path_to_xml_file.xml"); file.open(QIODevice::ReadOnly | QIODevice::Text); ...
总结来说,XML解析与生成是软件开发中常用的数据处理技术。理解DOM、SAX和StAX的优缺点以及如何使用它们,对于处理XML数据至关重要。SAX解析器如`SaxXml`实例,展示了如何通过事件驱动的方式高效地处理XML文档,而...
理解和熟练使用XML解析器是任何IT专业人士的必备技能之一,无论是在移动应用、Web服务还是桌面应用程序中,XML解析都发挥着关键作用。了解和掌握TinyXML这样的解析库,可以帮助开发者更高效地处理XML数据。
综上所述,"C# 读取XML文件并写入Excel表格"这一主题涵盖了XML解析和Excel操作的关键技术,对于数据处理和报告生成等场景非常实用。在实际应用中,开发者可以根据具体需求调整代码逻辑,以满足各种复杂的业务需求。
这个模型由节点构成,包括元素、属性、文本等,使得程序员可以通过JavaScript、Java、Python等语言对XML文档进行读取和写入操作。本文将深入探讨DOM解析XML的原理和实践,并通过源码分析来揭示其实现细节。 首先,...
1. **XML解析**:TinyXML2通过`XMLDocument`类来表示整个XML文档,你可以使用`LoadFile()`或`Parse()`方法加载XML文件或内存中的XML字符串。解析完成后,文档的结构被映射为一系列的节点,包括元素(XMLElement)、...
本文将深入探讨几种常见的XML解析框架,并对比它们的特点与适用场景。 一、DOM解析器 DOM(Document Object Model)是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过节点操作来读取和修改XML内容...
在这里,可能有针对XML的读取、遍历、写入等操作的实现,通过C#的API与XML文档交互。开发者可能还展示了如何处理XML节点、处理命名空间、验证XML文档结构等高级功能。 `last_1.bmp`和`last_2.bmp`可能是设计图或...
本资源包主要关注的是Linux环境下的XML解析,特别是开源代码的应用。 标题中的“Linux XML解析资源”指的是在Linux操作系统中处理和解析XML文档的相关工具和技术。在Linux世界里,由于其开源和自由软件的理念,有...
下面我们将详细介绍如何使用TinyXML进行XML解析: 1. **安装TinyXML**: 在项目中添加TinyXML库,通常包括头文件(如`tinyxml.h`)和对应的库文件(如`libtinyxml.a`或`tinyxml.lib`),根据编译器和开发环境的...
Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 ...使用 Java 实现 XML 解析 Word 文档可以使得 Word 文档的动态写入变得更加灵活和方便。
最后,将二叉树中的数据按照XML文件格式输出到新的文件中,与打印到屏幕的过程类似,只是这次写入的是文件而不是控制台。需要确保正确处理缩进和换行,以保持XML的可读性。 在实现这个过程时,可以使用各种编程语言...