gpt4 book ai didi

java - xml 属性中 'local name' 和 'qualified name' 之间的差异

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:57 25 4
gpt4 key购买 nike

您能帮我理解 xml 属性中“本地名称”和“限定名称”之间的区别吗?来自 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)

在这个例子中,

<anelement attr1="test" attr2="test2"> </anelement>

会有什么不同?

最佳答案

限定名称包括命名空间前缀和本地名称:att1foo:att2

示例 XML

<root 
xmlns="http://www.example.com/DEFAULT"
att1="Hello"
xmlns:foo="http://www.example.com/FOO"
foo:att2="World"/>

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 ""

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"

关于java - xml 属性中 'local name' 和 'qualified name' 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6429634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com