Mit*_*sey 6 ruby xml syntax xpath nodes
我有一个XML文档,其中一些节点.的名称中有一个:
<com.site.blah>
<id>asdkjasd</id>
<com.site.testing>
<name>test</name>
</com.site.testing>
</com.site.blah>
Run Code Online (Sandbox Code Playgroud)
如果我尝试@doc.search("/*/id").first.xpath,它会返回/com.site.blah/id,但如果我这样做:@doc.search("/com.site.blah/id").first.inspect它返回nil.
我希望能够创建一个XPath查询来选择下面的名称com.site.testing,但它一直拒绝我的查询.
有任何想法吗?
(如果它有所作为,我使用的是hpricot)
您的 XPath 库已损坏。XPath 名称测试是一个 QName ( http://www.w3.org/TR/xpath/#NT-NameTest ),在遵循 EBNF 的兔子洞之后,它包含句点 ( http://www.w3.org /TR/REC-xml/#NT-NameChar )。向开发人员报告错误。
作为解决方法,注释中提到的转义机制都不是 XPath 的一部分,但您可以尝试使用谓词来检查元素名称,如下所示:
/*[name(.) = 'com.site.blah']/id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2859 次 |
| 最近记录: |