gpt4 book ai didi

xml - 使用命名空间访问 XML 属性

转载 作者:数据小太阳 更新时间:2023-10-29 01:42:06 26 4
gpt4 key购买 nike

如何使用命名空间访问属性?我的 XML 数据在一个表单中

val d = <z:Attachment rdf:about="#item_1"></z:Attachment>

但是下面的不符合属性

(d \\ "Attachment" \ "@about").toString

如果我从属性的名称中删除命名空间组件,那么它就可以工作。

val d = <z:Attachment about="#item_1"></z:Attachment>
(d \\ "Attachment" \ "@about").toString

知道如何在 Scala 中使用命名空间访问属性吗?

最佳答案

API 文档引用了以下语法 ns\"@{uri}foo"

在您的示例中没有定义 namespace ,Scala 似乎认为您的属性没有前缀。请参阅 d.attributes.getClass

现在如果你这样做:

val d = <z:Attachment xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdf:about="#item_1"></z:Attachment>

然后:

scala> d \ "@{http://www.w3.org/1999/02/22-rdf-syntax-ns#}about"
res21: scala.xml.NodeSeq = #item_1

scala> d.attributes.getClass
res22: java.lang.Class[_] = class scala.xml.PrefixedAttribute

关于xml - 使用命名空间访问 XML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3659424/

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