君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  XML&JAXP

摘要:定义定制事件并使用 StAX 的序列化器 API简介:除了提供一个低层的基于指针的 API 之外,StAX 还提供了一个功能强大的基于迭代器的方法,它通过使用事件对象传送关于解析流的信息,以处理 XML。本系列的第 2 部分详细研究了这种 API 并提供了一些使用它的例子。在本篇文章中,将介绍定制化... 阅读全文
posted @ 2014-06-05 00:47 刺猬的温驯 阅读(196) 评论(0) 推荐(0) 编辑

摘要:探讨 StAX 基于事件迭代器的 API简介:Streaming API for XML (StAX) 的基于事件迭代器 API 无论在性能还是在可用性上都有其他 XML 处理方法所不及的独到之处。第 1 部分介绍了 StAX 并详细讨论了它的基于指针的 API。本文进一步讨论基于事件迭代器 API... 阅读全文
posted @ 2014-06-05 00:47 刺猬的温驯 阅读(339) 评论(0) 推荐(0) 编辑

摘要:探究其基于指针的 API,它把 XML 作为标记(或事件)流拉出Streaming API for XML (StAX) 是用 Java™ 语言处理 XML 的最新标准。作为一种面向流的方法,无论从性能还是可用性上都优于其他方法,如 DOM 和 SAX。本系列分为 3 部分,本文是第 1 部分,简要... 阅读全文
posted @ 2014-06-05 00:47 刺猬的温驯 阅读(429) 评论(0) 推荐(0) 编辑

摘要:XML 解析器通常是高性能、健壮应用程序的关键。传统的 XML 解析技术包括文档对象模型(Document Object Model,DOM)和 Simple API for XML (SAX)。现在有一种非常不错的名为 Streaming API for XML (StAX) 的创新型新解析技术,... 阅读全文
posted @ 2014-06-05 00:37 刺猬的温驯 阅读(334) 评论(0) 推荐(0) 编辑

摘要:一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个“你”当作android;),使用sax解析xml文件是我见到过的最为简单的一种解析xml的方式了。Java代码SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); XMLReader xmlReader = parser.getXMLReader(); xmlReader.setContent... 阅读全文
posted @ 2013-05-14 00:57 刺猬的温驯 阅读(9953) 评论(0) 推荐(0) 编辑

摘要:为了让我们的应用程序不依赖于具体的解析器,让我们以统一的接口来访问XML文档,Sun公司开发了JAXP(Java API For XML Processing)API。 JAXP没有扩充解析器新的功能,它是对解析器的一个封装,使开发人员能够独立于具体的解析器,这样我们就可以在应用程序中任意更换解析器,而不用更改应用程序代码。现在主流的解析器都支持DOM和SAX,所以JAXP也都支持。JAXP现在的版本是1.3包含在JDK5.0之中。 javax.xml包及子包,org.w3c.dom包及子包,org.xml.sax包及子包。javax.xml包及子包主要是获取解析器的实例,获取到解析器实例后就 阅读全文
posted @ 2013-03-07 03:19 刺猬的温驯 阅读(2921) 评论(0) 推荐(1) 编辑

摘要:1. XML语法解析方式XML解析方法是理论知识,不止在java里是这样,换到其他语言下也是一样的。目前有三种: A. DOM(Document Object Model): DOM方法一次把XML的所有内容读入内存,按照xml的内容里面的node,attribute等生成一个树状结构。这就是一个对象模型了,完了我们就可以对这个树状结构进行操作。DOM的特点是编程简单,明了;缺点是要一次性读入所有内容 B. SAX(Simple API for XML): SAX是一种基于事件的解析方式,通过回调函数嵌入自己的代码。在解析前要定义好回调函数,在SAX开始解析后,一旦产生事件就会调用回调函数.. 阅读全文
posted @ 2013-03-03 22:54 刺猬的温驯 阅读(356) 评论(0) 推荐(0) 编辑

摘要:四种操作xml的方式: SAX, DOM, JDOM ,DOM4J1. 介绍1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DO. 阅读全文
posted @ 2012-06-14 16:49 刺猬的温驯 阅读(180) 评论(0) 推荐(0) 编辑

摘要:Java的xml解析器库有很多,总的来说,万变不离其宗的就是SAX和DOM解析器。SAX的包是org.xml.saxDOM的包是org.w3c.dom1) DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构... 阅读全文
posted @ 2012-03-31 03:46 刺猬的温驯 阅读(470) 评论(0) 推荐(0) 编辑

摘要:这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化。 范围:本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化。 看一段最简单的Xml序列化代码 01class Program02{03static void Main(string[] args)04{05int i = 10;06//声明Xml序列化对象实例seri 阅读全文
posted @ 2011-07-23 01:35 刺猬的温驯 阅读(305) 评论(0) 推荐(0) 编辑

摘要:XmlTextWriter类可以把XML写入一个流、文件或TextWriter对象中。简单例子:private void button2_Click(object sender, System.EventArgs e){string filename = "booknew.xml";XmlTextWriter tw = new XmlTextWriter(filename,null);tw.Formatting = Formatting.Indented;tw.WriteStartDocument();tw.WriteStartElement("book" 阅读全文
posted @ 2011-03-28 03:42 刺猬的温驯 阅读(719) 评论(0) 推荐(0) 编辑

摘要:原本想基于XmlDocument自己写一个Xml编写器,但却发觉状态维护实在麻烦。在阅读《Applied Xml Programming for Microsoft .Net》时,意外发现XmlTextWriter的优越性,于是决定直接使用它进行开发。 XmlWriter与XmlTextWriter的区别 一开始我认为既然XmlTextWriter可以用,那XmlWriter也一定可以用,当我写完下面的语句时,编译器报错。 XmlWriterdoc=newXmlWriter(); 原因很简单,XmlWriter是抽象类,自然不能直接实例化。看了书后才知道XmlTextWriter... 阅读全文
posted @ 2011-03-28 03:33 刺猬的温驯 阅读(696) 评论(0) 推荐(0) 编辑

摘要:本文假设您熟悉 Visual Basic .NET 下载本文的代码: XPathandXSLT.exe (166KB) 摘要 XPath 是一种正在兴起的通用查询语言。通过 XPath,可以在基于 XML 的数据源中识别和处理一组相关的节点。XPath 提供了一个基础结构,它是 .NET Framework 中的 XML 支持的组成部分。XPath 导航模型甚至用在 XSLT 处理程序的内部。在本文中,作者考察了 XPath 导航器和 XSLT 处理程序的实现细节,并且包含了一些实际的示例,例如异步转换、排序节点集和 ASP.NET 服务器端转换。 XML 的主要优点之一是,它... 阅读全文
posted @ 2011-03-10 21:41 刺猬的温驯 阅读(543) 评论(0) 推荐(0) 编辑

摘要:如果要对XML文件进行模糊查找的话是一个比较麻烦的事情,Xpath表达式中没有像文件系统中的“*”或"?" 或者有像SQL表达式中的"%",这样的模糊查找的通配符。但是还好,在Xpath的函数中提供了像contains和match这样的函数。 contains是一个字符串查找函数 语法是:fn:contains(string1,string2),表示如果 string1 包含 string2,则返回 true,否则返回 false。 例如:contains('XML','XM'),结果:true。 match是一个匹配正则 阅读全文
posted @ 2011-03-10 19:40 刺猬的温驯 阅读(314) 评论(0) 推荐(0) 编辑