2017-02-24 84 views
0

有一個XML響應,我如何通過引入nokogiri如何通過引入nokogiri

<description> 
     <![CDATA[<img src="https://ebcnews.s3.amazonaws.com/images/2017/02/24/14879207313348jzJ88NZUPf.jpg" />]]> 

     <![CDATA[ 
     <p> 
     This is content 
     </p> 
     ]]> 
</description> 

我使用的代碼削XML響應解析從<![CDATA]>的IMG SRC的鏈接來解析從的IMG SRC的鏈接,但它只有返回<p>This is content</p>,有誰知道如何解析<![CDATA]>圖片的src鏈接?

xml_doc = Nokogiri::HTML(response.body.force_encoding("UTF-8")) 
xml_doc.xpath("//description").each do |ele| 
    p ele 
end 

回答

2

爲什麼期望解析XML文檔與HTML解析器會產生任何結果?

#     ⇓⇓⇓ 
xml_doc = Nokogiri::XML(response.body.force_encoding("UTF-8")) 

xml_doc.xpath("//description") 
     .children 
     .select { |e| Nokogiri::XML::CDATA === e } 
     .first 
     .content 
#⇒ "<img src=... />" 
+0

你是對的,謝謝你的幫助 – Tsao