2010-11-29 16 views
7

scala.xml.XML.write विधि एक java.io.Writer के लिए एक XML नोड अनुक्रम को आउटपुट करने का समर्थन करता है, उदाहरण के लिए सर्वलेट प्रतिक्रिया में। हालांकि, ऐसा लगता है कि एक्सएमएल को सुंदर मुद्रित प्रारूप में आउटपुट करने का विकल्प नहीं है। क्या java.io.Writer को एक एक्सएमएल नोड अनुक्रम को सुंदर प्रिंट करने के लिए कोई स्केल मानक लाइब्रेरी फ़ंक्शन है?स्कैला विधि को सीधे java.io.Writer (स्ट्रिंग नहीं) पर प्रिंट प्रिंट करने के लिए स्कैला विधि?

नोट: scala.xml.PrettyPrinter उत्तर नहीं प्रतीत होता है क्योंकि यह केवल एक स्ट्रिंग देता है। सुंदर प्रिंटर को सीधे java.io.Writer को आउटपुट करने की आवश्यकता होगी।

+0

एक अच्छा सवाल! – soc

+0

ऐसा कोई प्रारूप नहीं है - सुंदर मुद्रित एक्सएमएल; और कोई सामान्य सुंदर मुद्रण नहीं हो सकता है। सुंदर प्रिंटिंग पूरी तरह से उस गंतव्य पर निर्भर करती है जिस पर आप प्रिंट कर रहे हैं (और जिस तरह से टैब, लाइन ब्रेक, पैडिंग इत्यादि निर्दिष्ट किए जाने चाहिए)। 'scala.xml.PrettyPrinter' गंतव्य कंसोल होने पर मदद करता है। सर्वलेट प्रतिक्रिया के मामले में, बस एक्सएमएल को भेज दें, और क्लाइंट साइड पर सुंदर प्रिंटिंग करें। –

+4

वासील: हां ऐसा प्रारूप है, और हम सभी जानते हैं कि इसका क्या अर्थ है। चलिए यहाँ रचनात्मक होने पर ध्यान केंद्रित करते हैं: सब कुछ आवश्यक है scala.xml.PrettyPrinter java.io.Writer के आउटपुट के बिना। यह करने योग्य है: सवाल यह है कि किसी ने पहले ही इसे किया है। और विकास के दौरान सर्वलेट में सुंदर प्रिंट आउटपुट करना पूरी तरह से उचित है। –

उत्तर

0

scala.xml.PrettyPrinter.format(Node,StringBuilder) लेखक को append कॉल पुनः निर्देशित द्वारा दुरुपयोग किया जा सकता है ... हालांकि, इस भारी PrettyPrinter की वर्तमान कार्यान्वयन पर निर्भर करता है, तो यह एक गैर-जवाब ;-)

1

मैं एक PrettyPrinter लिखा है कि सीधे किसी दिए गए फ़ाइल पर लिख सकते हैं: XMLPrettyPrinter

मैं इसे उत्पादन में उपयोग करता हूं।

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