2010-11-09 16 views
6

मैं दो तरह से करने के लिए "बहुत प्रिंट", या प्रारूप के बारे में पता, xml:प्रारूप एक्सएमएल, सुंदर प्रिंट

shell tools Hack 38 Pretty-Print XML Using a Generic Identity Stylesheet and Xalan

क्या अन्य (बियर के रूप में) formatters मुक्त हैं? (जावास्क्रिप्ट का उपयोग करने के अलावा)

उत्तर

13

ठीक है, आपके द्वारा लिंक की गई पहचान को किसी भी एक्सएसएलटी प्रोसेसर (सैक्सन, एमएसएक्सएमएल, आदि) में पोर्टेबल है।

इसके अतिरिक्त, आप xmllint देख सकते हैं जो LibXML2 टूलकिट का हिस्सा है। --format विकल्प आपको इनपुट को सुंदर प्रिंट करने की अनुमति देता है। इसी तरह की कार्यक्षमता XMLStarlet में मौजूद है (जो हुड iirc के तहत LibXML2 का उपयोग करती है)।

+5

टैग libxml2.XML_SAVE_NO_EMPTY साथ किया जाता है " बिल्ली config.xml | xmllint --format - "सुंदर काम करता है। –

+1

तारों के लिए भी बहुत अच्छा काम करता है: 'echo "" | xmllint --format -' – Matt

1

मुझे जावा लाइब्रेरी XOM एक्सएमएल मैनिपुलेशन के लिए पसंद है। इसमें एक अच्छा Pretty Printer है जो आउटपुट पर बहुत अधिक नियंत्रण प्रदान करता है।

9

xmlstarlet fo जो मैं सुंदर मुद्रण के लिए उपयोग करता हूं।

$ xmlstarlet fo --help 
XMLStarlet Toolkit: Format XML document 
Usage: xml fo [<options>] <xml-file> 
where <options> are 
    -n or --noindent   - do not indent 
    -t or --indent-tab   - indent output with tabulation 
    -s or --indent-spaces <num> - indent output with <num> spaces 
    -o or --omit-decl   - omit xml declaration <?xml version="1.0"?> 
    -R or --recover    - try to recover what is parsable 
    -D or --dropdtd    - remove the DOCTYPE of the input docs 
    -C or --nocdata    - replace cdata section with text nodes 
    -N or --nsclean    - remove redundant namespace declarations 
    -e or --encode <encoding> - output in the given encoding (utf-8, unicode...) 
    -H or --html    - input is HTML 

एक अच्छा एक्सएमएल इंजीनियर xmlstarlet फिराना करने के लिए सक्षम होना चाहिए: Xmlstarlet विकल्प की एक संख्या है।

3

आप http://prettydiff.com/?m=beautify का उपयोग कर सकते हैं दुर्भाग्यवश, यह जावास्क्रिप्ट में लिखा गया है, लेकिन यह एक पूर्ण एप्लिकेशन है, इसलिए आपको इसे कभी भी नहीं जानना चाहिए। बस यह जान लें कि आप कुछ भी डाउनलोड या इंस्टॉल किए बिना अपने ब्राउज़र के अंदर से भाग सकते हैं।

0

अजगर में libxml2 का उपयोग करते समय:

with open(pathToSaveResult, 'w') as fd: 
    xmlParsed.saveTo(fd,format = libxml2.XML_SAVE_FORMAT) 

संपादित करें: ऐसा लगता है कि libxml2 में कुछ बग है ... सुंदर मुद्रण libxml2.XML_SAVE_FORMAT

के बजाय