超级简单操作xml 纯javaAPI 不借助第三方.
不善于表达,直接贴代码。
package io;
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
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;
import org.w3c.dom.Text;
import util.DbUtils;
public class XML {
public static final String SAVE_PATH = "d://student.xml";
/**
* 添加节点
* @param doc 文档
* @param parent 父节点
* @param tagName 节点名称
* @param data 节点内容
* @return
*/
private static Element addElement(Document doc, Node parent,
String tagName, String data) {
Element element = doc.createElement(tagName);
if (null != data) {
Text text = doc.createTextNode(data);
element.appendChild(text);
}
if (null != parent) {
parent.appendChild(element);
}
return element;
}
/**
* 文档解析器
* @return
* @throws Exception
*/
private static DocumentBuilder getBuilder()throws Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
return factory.newDocumentBuilder();
}
/**
* 写XML
* @param savePath
* @throws Exception
*/
public static void writer(String savePath) throws Exception {
// 创建document
Document doc = getBuilder().newDocument();
Element root = addElement(doc, doc, "students", null);
// 写入document
String sql = "select * from student";
Connection conn = DbUtils.getConn();
Statement state = conn.createStatement();
ResultSet rs = state.executeQuery(sql);
while (rs.next()) {
Element student = addElement(doc, root, "student", null);
addElement(doc, student, "id", rs.getString("id"));
addElement(doc, student, "name", rs.getString("name"));
addElement(doc, student, "age", rs.getString("age"));
addElement(doc, student, "code", rs.getString("code"));
addElement(doc, student, "sex", rs.getString("sex"));
addElement(doc, student, "political", rs.getString("political"));
addElement(doc, student, "origin", rs.getString("origin"));
addElement(doc, student, "professional", rs
.getString("professional"));
}
DbUtils.close(rs, state, conn);
// 输出document
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
//设定格式
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//转换器
StreamResult result = new StreamResult(new FileOutputStream(savePath));
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
}
/**
* 读XML
* @param readPath
* @throws Exception
*/
public static void read(String readPath)throws Exception{
Document doc=getBuilder().parse(new File(readPath));
Element root=doc.getDocumentElement();
NodeList list=root.getChildNodes();
for (int i=0;i<list.getLength();i++ ) {
Node node=list.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE){
NodeList childlist=node.getChildNodes();
for (int j = 0; j < childlist.getLength(); j++) {
Node childNode=childlist.item(j);
System.out.println(childNode.getNodeName()+":"+childNode.getTextContent());
}
}
}
}
public static void main(String[] args) throws Exception {
//XML.writer(SAVE_PATH);
XML.read(SAVE_PATH);
}
}
分享到:
相关推荐
Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 ...使用 Java 实现 XML 解析 Word 文档可以使得 Word 文档的动态写入变得更加灵活和方便。
在Java中,有多种方式可以解析XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。下面我们将详细探讨这些解析方法以及相关的API。 1. DOM解析器:DOM解析器...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于软件开发、Web服务和数据交换等领域。在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for...
XML写入通常使用`TransformerFactory`和`Transformer`类完成。以下是一个简单的例子: ```java TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = ...
Java XML解析包主要指的是用于处理XML(eXtensible Markup Language)文档的库,它使得在Java程序中读取、写入、修改和操作XML变得简单。本篇将详细介绍使用Java进行XML解析的关键知识点,以dom4j-1.6.1为例。 1. *...
Java代码PDF解析成XML是一项技术任务,涉及到Java编程语言、PDF文档处理和XML数据格式转换。在这个场景中,我们主要关注如何使用Java库iTextPDF将PDF文档中的内容解析为XML结构。 首先,我们需要理解PDF(Portable ...
本篇文章将详细探讨Java如何解析和生成XML文档。 一、Java解析XML 1. DOM解析:Document Object Model(DOM)是XML文档的一种树形表示方式。Java中的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom....
理解并熟练掌握DOM解析和写入XML是Java开发人员的基本技能之一,特别是在处理配置文件、数据交换或持久化数据时。尽管DOM提供了强大的灵活性,但要注意其内存消耗较高,对于大型XML文件,可能需要考虑其他解析方法,...
DOM4J是Java中解析XML的首选工具之一,它提供了灵活且功能强大的API来读取、写入、修改和操作XML文档。DOM4J基于Document Object Model (DOM) API,但它的实现更加轻量级,易于理解和使用。 首先,让我们了解XML的...
以上就是在Java中在线解析XML的基本概念和示例,根据实际需求,可以选择适合的解析器。在处理sinaApps这样的数据时,可能涉及从XML响应中提取应用信息,如应用ID、名称、描述等,这时可以利用这些解析方法将XML数据...
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
本篇文章将详细探讨如何利用Java和XML解析来自动化创建Word文档。 首先,我们需要了解XML的结构。XML(Extensible Markup Language)是一种标记语言,它允许我们以结构化的方式存储数据。在生成Word文档时,我们...
本篇将详细探讨如何解析Excel文件并将其内容写入到XML中。 首先,我们要理解Excel文件的结构。Excel文件通常是二进制的`.xlsx`格式,它由多个基于Open XML标准的XML文件组成,存储在一个压缩的ZIP文件内。我们可以...
常见的本地解析XML的库有Java的DOM和SAX,Python的ElementTree,JavaScript的DOMParser等。 4. CLOB字段与XML数据: CLOB(Character Large Object)是数据库中用于存储大量字符数据的类型,常用于存储XML文档。当...
总结来说,这个项目涵盖了Java生成XML和解析XML的核心技术。通过DOM、SAX或StAX生成XML字符串,再利用JAXB结合`@XmlRootElement`注解解析XML并转换成Map。了解和掌握这些技术对于任何Java开发者在处理XML数据时都至...
3. **XML读写**:在Java中,我们可以使用如JAXB(Java Architecture for XML Binding)或者DOM、SAX、StAX等API来读取和写入XML文件。JAXB允许我们将Java对象自动转换为XML,反之亦然,非常方便。DOM API则将XML文档...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
Java的XML解析技术可以方便地读取和写入XML文件,实现数据的标准化传输。 2. **配置文件管理**:许多Java应用程序使用XML作为配置文件的格式。通过解析XML,可以动态加载和修改配置参数,提高应用程序的灵活性。 ...
本文将深入探讨四个使用Java解析和生成Excel及XML的实例,旨在帮助开发者掌握相关技能。 实例一:解析Excel文件 使用Apache POI库是Java中解析Excel文件的常见方式。POI提供了HSSF(旧版Excel .xls格式)和XSSF(新...
本项目提供的"解析xml---xml文件转json对象"是一个Java工具类,用于将XML文件解析成JSON对象,便于处理和操作。要使用这个工具,你需要遵循以下步骤: 1. **导入项目**:首先,下载提供的压缩包并解压。将解压后的...