यहाँ मैं क्या चाहते हैं:
पहले कुछ एक्सएमएल पार्स करें:
require 'nokogiri'
doc = Nokogiri::XML(<<EOT)
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="nutrition.css"?>
<nutrition>
<daily-values>
<total-fat units="g">65</total-fat>
<saturated-fat units="g">20</saturated-fat>
<cholesterol units="mg">300</cholesterol>
<sodium units="mg">2400</sodium>
<carb units="g">300</carb>
<fiber units="g">25</fiber>
<protein units="g">50</protein>
</daily-values>
<food>
<name>Avocado Dip</name>
<mfr>Sunnydale</mfr>
<serving units="g">29</serving>
<calories total="110" fat="100"/>
<total-fat>11</total-fat>
<saturated-fat>3</saturated-fat>
<cholesterol>5</cholesterol>
<sodium>210</sodium>
<carb>2</carb>
<fiber>0</fiber>
<protein>1</protein>
<vitamins>
<a>0</a>
<c>0</c>
</vitamins>
<minerals>
<ca>0</ca>
<fe>0</fe>
</minerals>
</food>
</nutrition>
EOT
अगर मैं नोड की सामग्री को हटाना चाहता हूं, तो मैं rem ove अपने children
या इसकी सामग्री के लिए नहीं के बराबर आवंटित:
doc.at('total-fat').to_xml # => "<total-fat units=\"g\">65</total-fat>"
doc.at('total-fat').children.remove
doc.at('total-fat').to_xml # => "<total-fat units=\"g\"/>"
या:
doc.at('saturated-fat').to_xml # => "<saturated-fat units=\"g\">20</saturated-fat>"
doc.at('saturated-fat').content = nil
doc.at('saturated-fat').to_xml # => "<saturated-fat units=\"g\"/>"
मैं किसी और तरीके से उपयोग के लिए एक नोड से पाठ निकाल करना चाहते हैं:
food = doc.at('food').text
# => "\n Avocado Dip\n Sunnydale\n 29\n \n 11\n 3\n 5\n 210\n 2\n 0\n 1\n \n 0\n 0\n \n \n 0\n 0\n \n "
या :
food = doc.at('food').children.map(&:text)
# => ["\n ",
# "Avocado Dip",
# "\n ",
# "Sunnydale",
# "\n ",
# "29",
# "\n ",
# "",
# "\n ",
# "11",
# "\n ",
# "3",
# "\n ",
# "5",
# "\n ",
# "210",
# "\n ",
# "2",
# "\n ",
# "0",
# "\n ",
# "1",
# "\n ",
# "\n 0\n 0\n ",
# "\n ",
# "\n 0\n 0\n ",
# "\n "]
या फिर भी आप पाठ को उलझाना चाहते हैं।
और, यदि आप चिह्नित करने के लिए है कि आप पाठ हटा दिया है चाहता हूँ:
doc.at('food').children = '<!-- REMOVED -->'
doc.at('food').to_xml # => "<food>\n <!-- REMOVED -->\n</food>"
Nokogiri के [एक HTML/XML में संशोधन के लिए ट्यूटोरियल:
तुम भी बजाय एक XML टिप्पणी इस्तेमाल कर सकते हैं दस्तावेज़] (http://nokogiri.org/tutorials/modifying_an_html_xml_document.html) इसे कवर करें। इसके अलावा 'node.unlink' इसे एक डोम से हटा देगा। –
"[पूछें]" देखें। जैसा कि, इसमें महत्वपूर्ण जानकारी की कमी है जैसे इनपुट और अपेक्षित आउटपुट के लिए न्यूनतम XML उदाहरण, साथ ही कोड को हल करने के लिए लिखा गया कोड। –