我被困在解析XML中,其元素名称中包含":".
示例XML如下所示:
val xml:String = <epp xmlns='urn:ietf:params:xml:ns:epp-1.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd'>
<command>
<create>
<host:create xmlns:host='urn:ietf:params:xml:ns:host-1.0'
xsi:schemaLocation='urn:ietf:params:xml:ns:host-1.0host-1.0.xsd'>
<host:name>ns-1.dns.net</host:name>
</host:create>
</create>
<clTRID>TRID-1-100043434343</clTRID>
</command>
</epp>
val dom = scala.xml.XML.loadString(xml)
val name = dom \\ "host:name"
Run Code Online (Sandbox Code Playgroud)
name 总是空的.
我需要获取<host:name>元素标记的值.请让我知道如何获得它.
sbl*_*ndy 10
该\\操作是一种误导.它不接受XPath查询,只接受节点名称.如果要过滤前缀名称 - 前面的部分: - 查询的那部分必须在scala中.这样的事情应该有效:
val name = (dom \\ "name").filter(_.prefix == "host")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |