我正在使用 Nokogiri::XML 解析来自 Amazon SimpleDB 的响应。响应类似于:
<SelectResponse xmlns="http://sdb.amazonaws.com/doc/2007-11-07/">
<SelectResult>
<Item>
<Attribute><Name>Foo</Name><Value>42</Value></Attribute>
<Attribute><Name>Bar</Name><Value>XYZ</Value></Attribute>
</Item>
</SelectResult>
</SelectResponse>
如果我只是将响应直接交给 Nokogiri,那么所有 XPath 查询(例如doc/"//Item/Attribute[Name='Foo']/Value"
)都会返回一个空数组。但是,如果我从标签中删除该xmlns
属性,它就可以完美地工作。SelectResponse
我需要做一些额外的事情来解释命名空间声明吗?这种解决方法感觉非常像黑客。