स्कैला एक्सएमएल के लिए दो चीजें करता है जो आप दर्ज करते हैं जो इसे कम पर्सिएबल बनाता है लेकिन इसे कम पठनीय बनाता है:
सबसे पहले, यह उन टैग्स का विस्तार करता है जो स्वयं को बंद करते हैं:
scala> <tag/>
res109: scala.xml.Elem = <tag></tag>
और दूसरा, यह गुणों को यादृच्छिक क्रम में स्कैम्बल करता है, जैसे कि यह उन्हें हैश सेट में डाल देता है:
scala> <tag a="a" b="b" c="c" d="d"/>
res110: scala.xml.Elem = <tag d="d" a="a" c="c" b="b"></tag>
साथ में, ये एक्सएमएल प्रस्तुत करने के लिए षड्यंत्र करते हैंकाफी कम मानव-पठनीय (कम से कम मेरे द्वारा)। मैं एक्सएमएल लाइब्रेरी से बहुत परिचित नहीं हूं; क्या एक्सएमएल-टू-स्ट्रिंग अनुवाद करने का कोई तरीका है जो एक कॉम्पैक्ट मानव-पठनीय रूप उत्पन्न करता है? (यदि डिफ़ॉल्ट रूप से नहीं, तो अपने स्वयं के स्ट्रिंग रूपांतरणों को रिकर्स करके और लिखकर - या वहां बहुत सारे विशेष मामले हैं जो वहां रह रहे हैं?)
उत्तर:
उत्तर № 1 के लिए 6ज्यादातर, देखें scala.xml.Utility.toXml
। विशेषता चीज़ में कोई समाधान नहीं है, हालांकि (जहां तक मुझे पता है)।
scala> xml.Utility.toXML(<a/>, minimizeTags = true)
res13: StringBuilder = <a />
आप देखना चाहते हैं scala.xml.PrettyPrinter
भी।