xml sax localName和qName的区别
xml sax localName和qName的区别
分类:XML
2012-11-29 17:59
916人阅读
评论(3)
收藏
举报
localname
qname
SAX
sax
xml
XML
目录(?)[+] 1. xml中的localName和QName
Namespace(空间名称,命名空间) 引入的原因是为了避免混淆。例如上面的这个XML文档,sina和baidu都有blog属性,定义了两个namespace,就像sax官网说的,用namespace是为了实现更多的扩展功能,作为基本应用,很多时候都用不到它: sina的namespace: http://www.sina.com baidu的namespace:http://www.baidu.com copy
namespace的值可以任意,但是注意不要重复。一般默认的格式都是以url来作为namespace,比如 xmlns:android="http://schemas.android.com/apk/res/android。
Prefix(前缀) sina:blog中 sina就是前缀。
LocalName(本地名称) sina:blog 中blog就是localName。
QName(Qualified Name 限定?指定?名称) sina:blog就是QName,相当于前缀+":"+LocalName。
uri(不是url哈) 例如sina:blog的uri就是前缀sina的namespace,即"http://www.sina.com"。 2.sax解析localName与qNamesax simple API for XML,现在有两个版本,sax和sax2。 sax不支持LocalName、QName和uri。对于属性sina:blog="blog.sina.com",sax解析的结果是LocalName=QName="sina:blog",uri="",value="blog.sina.com"。 sax2支持LocalName、QName、uri。对于属性sina:blog="blog.sina.com",sax2解析的结果是LocalName="blog",QName="sina:blog",uri="",value="blog.sina.com"。 测试: TestSax.java
[java]
copy
SaxParseHandler.java copy
执行结果: copy
对于sax2,正确的解析出了qName,LocalName和uri。sax不能识别出前缀和uri,qName=localName。
3.android xml dom4j在android程序中,我在用dom4j来操作XML文档的时候发现一个问题,用dom4j解析出来的文档attribute名称都是一样的。 例xml为: copy
copy
sax的官网:http://sax.sourceforge.net/about.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |