我正在使用Nokogiri :: XML来解析来自Amazon SimpleDB的响应。响应是一样的东西:为什么Nokogiri xpath不像xmlns声明
<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"
)返回一个空数组。但是,如果我从SelectResponse
标记中删除xmlns
属性,则它完美地起作用。
是否有一些额外的事情我需要做的帐户名称空间声明?这种解决方法非常像黑客攻击。
这是固定的。谢谢。 – 2009-11-15 15:45:08
只需提供像“doc.xpath('// xmlns:Item ...”这样的“** xmlns:**”即可。 – user569825 2013-03-19 14:49:40