-6ren">
gpt4 book ai didi

xml - Scala XML 节点(带有命名空间)属性不可访问

转载 作者:行者123 更新时间:2023-12-04 16:53:31 26 4
gpt4 key购买 nike

嗨,

我正在尝试从此 XML 节点/Elem 获取 attrID。

scala> (desc(0) \ "_")(0)
res81: scala.xml.Node = <cor:attribute cor:attrDataType="int" cor:attrID="singleEventID" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cor="http://rdm.campusonline.at/">883819995</cor:attribute>

scala> (desc(0) \ "_")(0).attributes
res82: scala.xml.MetaData = cor:attrDataType="int" cor:attrID="singleEventID"

scala> (desc(0) \ "_")(0).attribute("cor:attrID")
res83: Option[Seq[scala.xml.Node]] = None

scala> (desc(0) \ "_")(0).attribute("""attrID""")
res85: Option[Seq[scala.xml.Node]] = None

如果我手动删除命名空间,它工作得很好。
scala> val test4 = <attribute attrDataType="int" attrID="singleEventID" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cor="http://rdm.campusonline.at/">883819995</attribute>
test4: scala.xml.Elem = <attribute attrID="singleEventID" attrDataType="int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cor="http://rdm.campusonline.at/">883819995</attribute>

scala> test4.attributes
res96: scala.xml.MetaData = attrID="singleEventID" attrDataType="int"

scala> test4.attribute("attrID")
res98: Option[Seq[scala.xml.Node]] = Some(singleEventID)

如何在不手动删除命名空间的情况下使其工作?

最佳答案

您需要使用另一个 attribute这样的方法

(desc(0) \ "_")(0).attribute("http://rdm.campusonline.at/", "attrID")

关于xml - Scala XML 节点(带有命名空间)属性不可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15372082/

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