我看到的這幾件事情,但沒有什麼似乎已工作至今讓在XML文件中的CDATA標籤內的內容。我解析一個XML通過使用nokogiri軌道上的3 ruby 1.9.2。嘗試使用引入nokogiri
的XML的一個片段是這樣的:
<NewsLineText>
<![CDATA[
Anna Kendrick is ''obsessed'' with 'Game of Thrones' and loves to cook, particularly creme brulee.
]]>
</NewsLineText>
我試圖解析了這一點,以獲得與NewsLineText相關的文本
r = node.at_xpath('.//newslinetext') if node.at_xpath('.//newslinetext')
s = node.at_xpath('.//newslinetext').text if node.at_xpath('.//newslinetext')
t = node.at_xpath('.//newslinetext').content if node.at_xpath('.//newslinetext')
puts r
puts s ? if s.blank? 'NOTHING' : s
puts t ? if t.blank? 'NOTHING' : t
我得到的回報是
<newslinetext></newslinetext>
NOTHING
NOTHING
所以我知道我的標籤被命名爲/拼寫正確獲得在newslinetext數據,但CDATA文字從不出現。
我需要做什麼用引入nokogiri做的就是這樣的文字?
看你的情況,我相信會引入nokogiri HTML downcase名字,但不是XML – pguardiario
@pguardiario:亞倫採用引入nokogiri的HTML解析器,而不是它的XML解析器。 –
你們都是對的。我無意中使用了HTML解析器,它迫使我使用小寫字母。然後當我嘗試使用XML解析器時,我沒有得到任何結果(因爲我已經使用小寫)。在看到這裏的答案之後,我意識到自己的白癡並轉而區分大小寫和XML。完美的作品。謝謝 –