2010-01-25 4 views
9
String root = "RdbTunnels"; 
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); 
Document document = documentBuilder.newDocument(); 
Element rootElement = document.createElement(root); 
document.appendChild(rootElement); 

OutputFormat format = new OutputFormat(document); 
format.setIndenting(true); 


XMLSerializer serializer = new XMLSerializer(System.out, format); 
serializer.serialize(document); 

उपयोग करते हुए उत्पन्न xml दस्तावेज़ से XML घोषणा को दूर निम्नलिखितजावा

<?xml version="1.0" encoding="UTF-8"?> 
<RdbTunnels/> 

के रूप में परिणाम देता है, लेकिन मैं उत्पादन से XML घोषणा को निकालने का तरीका मुझे लगता है कि

+3

क्यों आप इसे हटाने की जरूरत है (यह दस्तावेज़ दस्तावेज़ के XML घोषणा के बिना एक्सएमएल फ़ाइल को प्रदर्शित करेगा)? – Quentin

+0

यदि आपको XML घोषणा को हटाने की आवश्यकता है, तो आपको XML की आवश्यकता नहीं है। आप फ्लैश के स्वामित्व कुछ हद तक प्रारूपित बल्कि नहीं-वास्तव में दस्तावेज़ पार्सर की जरूरत है। मेरा सुझाव है कि आप रेगेक्स का उपयोग करें। –

+1

आह आर्मचेयर विशेषज्ञ, क्षमा करें, लेकिन नहीं। भले ही प्रणाली एक्सएमएल हेडर का समर्थन नहीं करता .... – edthethird

उत्तर

15

आप है क्या कर सकते हैं की जरूरत है OutputKeys देखा गया है जैसा कि Transformer द्वारा उपयोग किया गया है? विशेष रूप से OMIT_XML_DECLARATION

ध्यान दें कि शीर्ष लेख को हटाने XML 1.0 में मान्य है, लेकिन आप वर्ण एन्कोडिंग डेटा (अन्य बातों के साथ) जो बहुत महत्वपूर्ण हो सकता है खो देते हैं।

+0

मैं मूल रूप से * .tbl फ़ाइल जो कुछ उपयोगकर्ताओं के लिए संदर्भ के लिए है में डेटाबेस डेटा पॉप्युलेट कर रहा हूँ यह अभी भी एक्सएमएल है, यह संदर्भ के रूप में इस्तेमाल किया जाएगा एक्सएमएल में होना चाहिए प्रारूप और neet एक एक्सएमएल दस्तावेज़ नहीं है। – flash

+1

चरित्र एन्कोडिंग डेटा के लिए महत्वपूर्ण नहीं है 'UTF-8' के रूप में यह कोई XML घोषणा के साथ एक दस्तावेज़ के लिए डिफ़ॉल्ट है। – bobince

10

इस

format.setOmitXMLDeclaration(true); 

उदाहरण

OutputFormat format = new OutputFormat(document); 
format.setIndenting(true); 
format.setOmitXMLDeclaration(true); 
2

जोड़े setOmitXMLDeclaration (सही) का उपयोग करके; प्रारूप वर्ग से विधि। मुझे यकीन नहीं है लेकिन मुझे लगता है कि यह jDom lib का उपयोग करता है।

उदाहरण

XMLOutputter out= new XMLOutputter(Format.getCompactFormat().setOmitDeclaration(true)); 
out.output(document, System.out);