假設有XML
<?xml version="1.0" encoding="utf-8"?>
<SomeResponse xmlns="some_namespace">
<Timestamp>......</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>ShortMessage111.</ShortMessage>
<LongMessage>LongMessage111.</LongMessage>
<ErrorCode>1</ErrorCode>
<SeverityCode>Warning</SeverityCode>
</Errors>
<Errors>
<ShortMessage>ShortMessage222.</ShortMessage>
<LongMessage>LongMessage222.</LongMessage>
<ErrorCode>2</ErrorCode>
<SeverityCode>Warning2</SeverityCode>
</Errors>
<!-- there might be many Errors nodes -->
<Version>123</Version>
<Build>122345abt_3423423</Build>
</SomeResponse>
我試圖找到所有的錯誤和他們之間長期的使用Nokogiri的短消息。
我做:
doc = Nokogiri.XML(xml)
errors = doc.xpath("//Errors")
puts errors
errors2 = doc.xpath("//Errors//ShortMessage")
puts errors
,它說明不了什麼。
我在做什麼錯?
我必須使用它?有必要嗎? –
+1學到了一些新東西,雖然我不確定它是如何適用於nokogiri – nurettin
http://stackoverflow.com/questions/4690737/nokogiri-xpath-namespace-查詢可能會有所幫助,我也發現這一點http:///stackoverflow.com/questions/1737572/why-doesnt-nokogiri-xpath-like-xmlns-declarations這實質上是你的問題的重複。 – nine9ths