/*
* Created by IntelliJ IDEA.
* User: administrator
* Date: Mar 26, 2002
* Time: 1:24:56 PM
* To change template for new class use
* Code Style | Class Templates options (Tools | IDE Options).
*/
/*****readXml.java**********************
*This is a javabean.
*This bean read a xml file from a URL,and return a xmlDom
*
***** Created by Xiao Yusong2001-11-30 ****
*/
package com.chinacountry.util;
import java.util.*;
import java.net.URL;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.Serializer;
import org.apache.xml.serialize.SerializerFactory;
import org.apache.xml.serialize.XMLSerializer;
import org.xml.sax.InputSource;
public class xmlUtil implements java.io.Serializable {
public xmlUtil()
{
}
public static DocumentBuilder getBuilder()
throws ParserConfigurationException
{
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
return builder;
}
// get a document from given file
public static Document getDocument(String path) throws Exception
{
// BufferedReader fileIn=new BufferedReader(new FileReader(path));
File f = new File(path);
DocumentBuilder builder = getBuilder();
Document doc = builder.parse(f);
return doc;
}
// get a document from InputStream
public static Document getDocument(InputStream in) throws Exception
{
DocumentBuilder builder = getBuilder();
Document doc = builder.parse(in);
return doc;
}
// create a empty document
public static Document getNewDoc() throws Exception
{
DocumentBuilder builder = getBuilder();
Document doc = builder.newDocument();
return doc;
}
// create a document from given string
public static Document getNewDoc(String xmlStr)
{
Document doc = null;
try
{
StringReader sr = new StringReader(xmlStr);
InputSource iSrc = new InputSource(sr);
DocumentBuilder builder = getBuilder();
doc = builder.parse(iSrc);
}
catch (Exception ex)
{
ex.printStackTrace();
}
return doc;
}
// save a document as a file at the given file path
public static void save(Document doc, String filePath)
{
try
{
OutputFormat format = new OutputFormat(doc);// Serialize DOM
format.setEncoding("GB2312");
StringWriter stringOut = new StringWriter();// Writer will be a
// String
XMLSerializer serial = new XMLSerializer(stringOut, format);
serial.asDOMSerializer();// As a DOM Serializer
serial.serialize(doc.getDocumentElement());
String STRXML = stringOut.toString(); // Spit out DOM as a String
String path = filePath;
writeXml(STRXML, path);
}
catch (Exception e)
{
e.printStackTrace();
}
}
// save a string(xml) in the given file path
public static void writeXml(String STRXML, String path)
{
try
{
File f = new File(path);
PrintWriter out = new PrintWriter(new FileWriter(f));
out.print(STRXML + "\n");
out.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
// format a document to string
public static String toString(Document doc)
{
String STRXML = null;
try
{
OutputFormat format = new OutputFormat(doc);// Serialize DOM
format.setEncoding("GB2312");
StringWriter stringOut = new StringWriter();// Writer will be a
// String
XMLSerializer serial = new XMLSerializer(stringOut, format);
serial.asDOMSerializer();// As a DOM Serializer
serial.serialize(doc.getDocumentElement());
STRXML = stringOut.toString(); // Spit out DOM as a String
}
catch (Exception e)
{
e.printStackTrace();
}
return STRXML;
}
// format a node to string
public static String toString(Node node, Document doc)
{
String STRXML = null;
try
{
OutputFormat format = new OutputFormat(doc);// Serialize DOM
format.setEncoding("GB2312");
StringWriter stringOut = new StringWriter();// Writer will be a
// String
XMLSerializer serial = new XMLSerializer(stringOut, format);
serial.asDOMSerializer();// As a DOM Serializer
serial.serialize((Element) node);
STRXML = stringOut.toString(); // Spit out DOM as a String
}
catch (Exception e)
{
e.printStackTrace();
}
return STRXML;
}
public static void main(String[] args) throws Exception
{
String pathRoot = "NeTrees.xml";
Document doc, doc1;
try
{
doc = xmlUtil.getDocument(pathRoot);
doc1 = xmlUtil.getDocument(pathRoot);
if (doc == doc1)
{
System.out.println("They aresame objects!");
}
else
{
System.out.println("They are different!");
OutputFormat format = new OutputFormat(doc);// Serialize DOM
format.setEncoding("GB2312");
StringWriter stringOut = new StringWriter();// Writer will be a
// String
XMLSerializer serial = new XMLSerializer(stringOut, format);
serial.asDOMSerializer();// As a DOM Serializer
serial.serialize(doc.getDocumentElement());
String STRXML = stringOut.toString(); // Spit out DOM as a
// String
System.out.println(STRXML);
}
}
catch (Exception ex)
{
System.out.print("Reading file\"" + pathRoot + "\" error!");
ex.printStackTrace();
}
}
}
分享到:
相关推荐
接下来,我们讨论如何读取XML文件。Java提供了`javax.xml.parsers`包,包含`DocumentBuilderFactory`和`DocumentBuilder`类,它们用于解析XML文件并创建一个DOM(文档对象模型)表示。以下是一个基本示例: ```java...
DOM4J是一个强大的Java XML API,它提供了丰富的功能,包括文档构建、遍历、查询以及XPath支持。 首先,让我们理解XML的基本概念。XML是一种自描述性的标记语言,其结构由元素、属性、文本节点等组成。为了在Java中...
为了读取XML文件,开发者通常会利用Java API或第三方库。本篇将详细介绍如何在Java中读取XML文件,以及如何利用第三方库增强XML处理能力。 首先,Java标准库JDK提供了一个内置的API——javax.xml.parsers包,它包含...
本篇文章将深入探讨如何在Java中读取XML配置文件,以及如何实现一个简易版的Spring框架。 首先,我们需要导入Java的DOM(Document Object Model)库,它提供了处理XML文档的标准API。在Java中,我们通常使用`javax....
以下是一个基本的Java代码示例,演示了如何读取XML文件: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c....
5. **DOM4J**:DOM4J是另一个流行的Java XML库,它提供了丰富的功能,包括XPath查询、XML文档构建和修改等。 6. **XML Schema(XSD)**:XML Schema定义了XML文档的结构和数据类型,可以用于验证XML文档是否符合...
以下是一个简单的DOM解析XML的例子: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import ...
5. JAXB (Java Architecture for XML Binding): 这是一个用于将Java对象转换为XML表示和反之的框架。JAXB允许我们在Java类和XML之间自动映射,简化了数据序列化和反序列化的过程。 6. Transformer API: 提供了将XML...
在这个特定的“java读取XML文件内容小程序”中,使用的是XAM(可能是指JAXB,Java Architecture for XML Binding)解析器,它是一种基于Java注解的XML绑定技术,可以将XML数据自动映射到Java对象,反之亦然。...
以下是一个使用Java DOM解析器读取XML文件的简单示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom....
### Java使用DOM4J读取XML知识点解析 #### 一、概述 在Java开发中,处理XML文件是一项常见的任务。DOM4J是一个简单且功能强大的Java库,用于处理XML文档。它提供了类似于DOM的API,但更为轻量级且易于使用。本篇将...
本练习将深入探讨如何在Java中读取XML文件,以及如何利用XML解析器实现基本的SPRING IOC(Inversion of Control,控制反转)和STRUTS框架的模拟。 首先,我们来讨论XML读取。Java提供了多种方式来处理XML文件,如...
在Java编程中,读取XML(eXtensible Markup Language)文件内容是一项常见的任务,尤其在处理配置数据、数据交换或者存储结构化信息时。XML因其可读性强、结构清晰的特点,被广泛应用于各种场景。本篇文章将详细介绍...
JDOM的目标是为Java开发者提供一个与平台无关的方式来创建、读取、修改和保存XML文档。通过JDOM,我们可以直接在内存中操作XML文档,这使得XML数据处理更加便捷。 **XML基础** XML(Extensible Markup Language)...
java实现的一个读取本地xml文件的例子,进入正题: 需要的包jdom2-2.0.6.jar:下载地址,http://mvnrepository.com/artifact/org.jdom/jdom2 此例子比较简单
4. **保存为XML**:最后,我们需要使用`XSSFWorkbook`的`write()`方法将工作簿写入到一个XML文件中,完成导出。 对于Word文件的导出,Java没有像Apache POI那样直接处理Word文档的库。但是,我们可以使用OpenOffice...
在Java中,我们可以使用DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等解析器来读取XML文件。这里提供的`ExecuteXmlUtil.java`文件可能包含了使用DOM解析器的示例代码...
我们可以使用Java IO流读取这个文件,然后用DOM解析XML,将结果存储在一个泛型集合中。如下所示: ```java import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class Example { public...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
以上就是一个简单的Java解析XML的例子,适用于初学者。理解DOM的基本概念和使用方法后,你可以根据实际需求进行更复杂的XML操作,如修改、添加和删除XML节点。同时,也可以学习SAX解析,了解不同解析方式的适用场景...