2011-04-01 14 views
7

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

सबसे पहले, यह टैग को फैलाता है जो खुद को बंद करता है:

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> 

साथ में, ये एक्सएमएल को कम से कम मानव-पठनीय (कम से कम मेरे द्वारा) प्रस्तुत करने का षड्यंत्र करते हैं। मैं एक्सएमएल लाइब्रेरी से बहुत परिचित नहीं हूं; क्या xml-to-string अनुवाद करने का कोई तरीका है जो एक कॉम्पैक्ट मानव-पठनीय रूप उत्पन्न करता है? (यदि डिफ़ॉल्ट रूप से नहीं, तो अपने स्वयं के स्ट्रिंग रूपांतरणों को दोबारा लिखकर और लिखकर - या वहां बहुत से विशेष मामले हैं जो वहां रह रहे हैं?)

+0

"मानव-पठनीय एक्सएमएल" - मेरा दिन बना दिया! – Raphael

उत्तर

6

अधिकतर, scala.xml.Utility.toXml देखें। विशेषता चीज़ में कोई समाधान नहीं है, हालांकि (जहां तक ​​मुझे पता है)।

scala> xml.Utility.toXML(<a/>, minimizeTags = true) 
res13: StringBuilder = <a /> 

आप scala.xml.PrettyPrinter पर भी देख सकते हैं।

+1

यह विशेषताओं के बारे में एक दयालु है। मैं जो करने की कोशिश कर रहा हूं उसके साथ यह बड़ी समस्या है। शायद मैं बस यह तय करूंगा कि किसी को भी XML को पढ़ना नहीं चाहिए। –

+1

@Rex एंटी-एक्सएमएल एफटीडब्ल्यू। मुझे लगता है कि यह उन बिंदुओं में से एक है जो स्पिविक को खराब करते हैं। खैर, वास्तव में, scala.xml में विशेषताओं के बारे में सबकुछ। वास्तव में –

+0

। मेरे पास आधे रास्ते के प्रबंधकों के साथ काम करने के लिए ऑपरेटरों के समूह में पहले ही पीएमएल है। –

संबंधित मुद्दे