मैं वर्तमान में एक एक्सएमएल दस्तावेज़ बनाने के लिए नोकोगिरी :: एक्सएमएल :: बिल्डर क्लास का उपयोग कर रहा हूं, फिर उस पर .to_xml को कॉल कर रहा हूं। परिणामी स्ट्रिंग में हमेशा नोड्स के बीच रिक्त स्थान, लाइनफीड्स और कैरिज रिटर्न का एक गुच्छा होता है, और मैं अपने जीवन के लिए यह नहीं समझ सकता कि उन्हें कैसे छुटकारा पाना है। यहाँ एक उदाहरण है:कैरिज रिटर्न के बिना नोकोगिरी टू_एक्सएमएल
b = Nokogiri::XML::Builder.new do |xml|
xml.root do
xml.text("Value")
end
end
b.to_xml
निम्नलिखित में यह परिणाम:
<?xml version="1.0"?><root>Value</root>
यह कैसे किया जा सकता है:
<?xml version="1.0"?>
<root>Value</root>
क्या मैं चाहता हूँ यह (नोटिस लापता newline) है? अग्रिम में धन्यवाद!
दुर्भाग्य से मैं नोकोगिरी v1.3.3 का उपयोग कर फंस गया हूं जो किसी भी तर्क को to_xml तक पारित करने की अनुमति नहीं देता है। अन्यथा, यह एक अच्छा समाधान होगा। – Cameron
आह ठीक है, समझ गया। ऐसा लगता है कि आप to_xml: 'b.doc.serialize (: save_with => Nokogiri :: XML :: नोड :: SaveOptions :: AS_XML)' – Cameron
मेरा अंतिम समाधान के बजाय सहेजने के विकल्प को सहेजकर सहेजने के विकल्प को पास करके इस विधि का उपयोग कर सकते हैं। ऐसा लगता है: 'builder.doc.serialize (: save_with => Nokogiri :: XML :: नोड :: SaveOptions :: AS_XML) .sub (" \ n "," ") .strip' – Cameron