StAX 生成XML文件
参考:百度百科 http://baike.baidu.com/view/1027076.htm?fr=ala0
在JDK 6.0中基于StAX分析XML数据: http://hi.baidu.com/1shome/blog/item/5baaee01db2609051d958302.html
DOM、SAX
、DOM4J、JDOM、StAX生成XML
并返回XML字符串形式:http://dreams75.javaeye.com/blog/512319
STAX:Streaming API for XML (StAX)
针对于XML的流式API(StAX),是在2004年3月的JSR 173规范中引入,这是一种针对XML的流式拉分析API。StAX是JDK
6.0提供的一种新特征。StAX通过提供一种基于事件迭代器(Iterator)的API让
程序员去控制xml文档解析过程,程序遍历这个事件迭代器去处理每一个解析事件,解析事件可以看做是程序拉出来的,也就是程序促使解析器产生一个解析事件
然后处理该事件,之后又促使解析器产生下一个解析事件,如此循环直到碰到文档结束符;
SAX
也是基于事件处理xml文档,但却是用推模式解析,解析器解析完整个xml文档后,才产生解析事件,然后推给程序去处理这些事件;
一、 推分析之于拉分析
比较于推分析,拉分析具有如下一些优点:
1.
在拉分析中,事件是由分析应用程序生成的,因此把分析规则提供到客户端而不是分析器。
2.
拉分析的代码更简单并且它比推分析有更少的库。
3. 拉分析客户端能同时读多个XML文档。
4.
拉分析允许你过滤XML文档并且跳过分析事件。
二、
使用XMLStreamWriter进行写操作
首先,你要创建将待分析的XML文档。由StAX的XMLStreamWriter生成XML。然而,XMLStreamWriter的一个限制是,它不一定会生成良构的文档-而且生成的文档也不一定是有效的。你需要确保生成的XML文档是良构的。列表1是一个由XMLStreamWriter生成的原始XML文档的示例。
1.导入SaTX类
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
2.你要从一个XMLOutputFactory中得到你的XMLStreamWriter。因此,首先你必须创建一个新的XMLOutputFactory:
//定义用于获取 XMLEventWriter 和 XMLStreamWriter 的工厂抽象实现
XMLOutputFactory xof = XMLOutputFactory.newInstance();
3.接下来,创建一个FileWriter或者PrintWriter以输出XML文档-它将被生成到一个XML文件中:
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream("Catalog-StAX.xml"),"utf-8&quo
相关文档:
Definition comparer class,
class ItemComparer : IEqualityComparer<XElement>
{
public bool Equals(XElement x, XElement y)
{
return x.Attribute("Name").Value == x.Attribute("Name").Value;
}
public int GetHashCode(XElement obj)
......
from:http://www.xland.com.cn/article/7/81/0804/28778.htm
本类实现:
数据库信息导出:word,excel,json,xml,sql
数据库恢复:从sql,从文件
具体用法:
首先新建测试用数据库mytest,然后在里面建张表
PHP代码:
以下是代码片段:
--
-- 表的结构 `test`
--
CREATE TABLE `test` (
`id ......
XML文件实例:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource auth="Container" maxActive="20" name="sss" password="123"
type="javax.sql.DataSource" />
<Resource auth="Container" ......
最常见的XML数据类型有:Element, Attribute,Comment, Text.
Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.
Attribute, 指在<Employee id=”12345”>中的粗体部分。
&nb ......