我看到的这几件事情,但没有什么似乎已工作至今让在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。完美的作品。谢谢 –