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
相关文档:
IsolatedStorageFile:包含文件和数据的独立存储区
dataset数据存储到本地xml文档,代码处理如下
public static void WriteDataToXML(DataSet dataset, string dataname)
{
try
{
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForAssembly(); / ......
XML学习完了,老师说在面试的时候有可能要问到这些,所以又找了些资料,在MLDN的这段日子里,老师们都把各个面试中有可能要问到的问题都帮我们一一总结,真的很感谢MLDN的全部老师,项目老师帮我们认真的讲解项目,辅导项目,教学老师帮我们认真总结各个技术,感谢,真的是感谢,呵呵,我会努力搞好的
Java中四种XML ......
var
xmlDoc
=
null
;
function
parseXML
(
xmlUrl
)
{
try
{
//IE
xmlDoc
=
new
ActiveXObject
(
"Microsoft.XMLDOM"
);
xmlDoc
.
async
=
false
;
xmlDoc
......
使用javascript创建Microsoft XML DOM,就可以完成这一工作.
// 装入数据.
var source = new ActiveXObject("Microsoft.XMLDOM");
source.async = false
source.load("history.xml");
// 装入样式表.
var stylesheet = new ActiveXObject("Microsoft.XMLDOM");
stylesheet.async = false
stylesheet.load( ......