का उपयोग कर xml फ़ाइल में cdata टैग के अंदर सामग्री प्राप्त करने का प्रयास कर रहा है मैंने इस पर कई चीजें देखी हैं, लेकिन अब तक कुछ भी काम नहीं कर रहा है। मैं रेलवे 3 ruby 1.9.2 पर nokogiri का उपयोग कर एक यूआरएल के माध्यम से एक एक्सएमएल पार्स कर रहा हूँ।nokogiri
<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
तो मुझे पता है कि न्यूज़लाइनेट डेटा पर जाने के लिए मेरे टैग का नाम सही ढंग से नामित/वर्तनी है, लेकिन सीडीटा पाठ कभी नहीं दिखाता है।
इस पाठ को पाने के लिए मुझे नोकोगिरी के साथ क्या करने की ज़रूरत है?
अपने मामले देखते हैं, मेरा मानना है कि nokogiri एचटीएमएल नाम downcase जाएगा, लेकिन नहीं एक्सएमएल – pguardiario
@pguardiario: हारून Nokogiri के HTML पार्सर, न कि उसकी XML पार्सर उपयोग कर रहा है। –
आप सभी सही थे। मैं अनजाने में HTML पार्सर का उपयोग कर रहा था जिसने मुझे लोअरकेस का उपयोग करने के लिए मजबूर किया। फिर जब मैंने एक्सएमएल पार्सर का उपयोग करने की कोशिश की, तो मुझे कोई परिणाम नहीं मिला (क्योंकि मैं पहले से ही लोअरकेस का उपयोग कर रहा था)। यहां जवाब देखने के बाद, मैंने अपनी मूर्खता महसूस की और केस संवेदनशीलता और एक्सएमएल पर स्विच किया। सही काम करता है। धन्यवाद –