您的位置:首页 > 其它

localName和qName的区别

2018-01-27 10:20 134 查看
1. xml中的localName和QName

2.<websites  
3.    xmlns:sina="http://www.sina.com"  
4.    xmlns:baidu="http://www.baidu.com">  
5.      
6.    <sina:website sina:blog="blog.sina.com">新浪</sina:website>  
7.    <baidu:website baidu:blog="hi.baidu.com">百度</baidu:website>  
8.</websites>  
Namespace(空间名称,命名空间)

引入的原因是为了避免混淆。例如上面的这个XML文档,sina和baidu都有blog属性,定义了两个namespace,就像sax官网说的,用namespace是为了实现更多的扩展功能,作为基本应用,很多时候都用不到它:
sina的namespace: http://www.sina.com baidu的namespace:http://www.baidu.com



1. xmlns:sina="http://www.sina.com"  
2. xmlns:baidu="http://www.baidu.com">  



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与qName

sax  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"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  localName qName sax解析