gpt4 book ai didi

java - XmlPullParser 找不到名称中带有冒号的属性

转载 作者:行者123 更新时间:2023-12-01 17:02:19 26 4
gpt4 key购买 nike

在我的 XML 中,有一个带有属性的标记,该属性的名称中带有冒号:

<GGS:bericht StUF:bestandsnaam="bestand.txt" >

我已经尝试了所有这些组合来尝试返回此属性的值:

parser.getAttributeValue(null, "StUF:bestandsnaam");
parser.getAttributeValue("StUF", "bestandsnaam");
parser.getAttributeValue(null, "bestandsnaam");
parser.getAttributeValue("bestandsnaam", "StUF");

...但它们都返回 null。

如果我手动删除属性名称的“StUF:”部分,它会通过调用来工作:

parser.getAttributeValue(null, "bestandsnaam");

那么如何获取这样一个属性的值呢?也就是说,不使用 getAttributeValue() 的 int 参数版本。

最佳答案

“名称中带有冒号”表示该属性位于命名空间中。在 XML 文档中更远的地方,您应该在该元素的祖先之一上找到一个命名空间声明,如下所示

xmlns:StUF="{something}"

您需要将这个 {something} (可能看起来像 HTTP URL 或 urn:...)作为“命名空间”传递“范围。例如,如果您有:

<root xmlns:GSS="urn:example:GSS" xmlns:StUF="http://stuff.com/namespace">
<GGS:bericht StUF:bestandsnaam="bestand.txt" >

那么代码需要是

parser.getAttributeValue("http://stuff.com/namespace", "bestandsnaam");

关于java - XmlPullParser 找不到名称中带有冒号的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863241/

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