/ / स्कैला से मानव-पठनीय एक्सएमएल आउटपुट? - एक्सएमएल, स्कैला

स्कैला से मानव-पठनीय एक्सएमएल आउटपुट? - एक्सएमएल, स्कैला

स्कैला एक्सएमएल के लिए दो चीजें करता है जो आप दर्ज करते हैं जो इसे कम पर्सिएबल बनाता है लेकिन इसे कम पठनीय बनाता है:

सबसे पहले, यह उन टैग्स का विस्तार करता है जो स्वयं को बंद करते हैं:

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 भी।