你能帮我理解一下xml属性中'local name'和'qualified name'之间的区别吗?来自http://developer.android.com/reference/org/xml/sax/Attributes.html:
/** Look up an attribute's local name by index. */
abstract String getLocalName(int index)
/** Look up an attribute's XML qualified (prefixed) name by index. */
abstract String getQName(int index)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,
<anelement attr1="test" attr2="test2"> </anelement>
Run Code Online (Sandbox Code Playgroud)
有什么区别?
bdo*_*han 13
限定名称包括命名空间前缀和本地名称:att1
和foo:att2
.
示例XML
<root
xmlns="http://www.example.com/DEFAULT"
att1="Hello"
xmlns:foo="http://www.example.com/FOO"
foo:att2="World"/>
Run Code Online (Sandbox Code Playgroud)
Java代码:
ATT1
没有名称空间前缀的属性不会选择默认名称空间.这意味着当root
元素"http://www.example.com/DEFAULT"
的名称空间是,att1
属性的名称空间是""
.
int att1Index = attributes.getIndex("", "att1");
attributes.getLocalName(att1Index); // returns "att1"
attributes.getQName(att1Index); // returns "att1"
attributes.getURI(att1Index); // returns ""
Run Code Online (Sandbox Code Playgroud)
ATT2
int att2Index = attributes.getIndex("http://www.example.com/FOO", "att2");
attributes.getLocalName(att2Index); // returns "att2"
attributes.getQName(att2Index); // returns "foo:att2"
attributes.getURI(att2Index); // returns "http://www.example.com/FOO"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9355 次 |
最近记录: |