gpt4 book ai didi

xml - 使用XmlSlurper解析xml时如何读取冒号属性名称(例如model:name)

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

我有一个XMl,其中一个属性是型号名称。

升级到Grails 2后,它无法使用以下命令提取属性

it。@“model:name” .text()

我已经阅读了How to read the hyphenated attribute names (Eg. model_name) while parsing xml using XmlSlurper并也遵循了链接,但是没有任何内容使我指向如何处理冒号属性的文档。

xml:lang属性的最终解决方案:
it.attributes()['{http://www.w3.org/XML/1998/namespace} lang']

最佳答案

您所谓的“冒号属性”实际上是 namespace 中的一个属性。 XmlSlurper的默认行为是忽略 namespace ,即当您要求它提供不带冒号的节点名称时,它将查找具有该本地名称的节点,而不管 namespace 如何。所以你可能会发现

it.@name

查找您感兴趣的属性。如果这不起作用,则需要在从XmlSlurper返回的对象上调用 declareNamespace,以将前缀映射到与XML文档中的 model:对应的 namespace URI(请参见用于 xmlns:model="http://example.com"或XML中的任何内容)
def xml = new XmlSlurper().parse(...).declareNamespace(
model:"http://example.com")

然后 model:name应该可以工作。

关于xml - 使用XmlSlurper解析xml时如何读取冒号属性名称(例如model:name),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929139/

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