2010-01-25 18 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); 

dà il risultato come seguerimuovere dichiarazione XML dal documento XML generato utilizzando Java

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

ma ho bisogno di rimuovere la dichiarazione XML dall'uscita come posso fare che

+3

Perché avete bisogno di rimuoverlo? – Quentin

+0

Se è necessario rimuovere la dichiarazione XML, non è necessario XML. È necessario il parser proprietario del documento, in qualche modo formattato, ma non proprio proprietario di Flash. Ti suggerisco di usare regex. –

+1

ahhh esperti di poltrona, mi spiace, ma no. È ancora XML anche se il sistema non supporta le intestazioni xml .... – edthethird

risposta

15

Avete visto OutputKeys come usato da Transformer? Specificamente OMIT_XML_DECLARATION.

Si noti che la rimozione dell'intestazione è valida in XML 1.0, ma si perdono i dati di codifica dei caratteri (tra le altre cose) che possono essere molto importanti.

+0

Sto fondamentalmente popolando i dati del database nel file * .tbl che è per riferimento per alcuni utenti, sarà usato come riferimento, deve essere in xml formato e neet non essere un documento xml. – flash

+1

I dati di codifica dei caratteri non sono importanti per 'UTF-8' poiché questo è l'impostazione predefinita per un documento senza dichiarazione XML. – bobince

10

Aggiungere questo

format.setOmitXMLDeclaration(true); 

Esempio

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

Usando il setOmitXMLDeclaration (true); metodo dalla classe Format. Non sono sicuro, ma penso che usi la lib di jDom.

Esempio (verrà visualizzato il file XML senza la dichiarazione XML del documento Document)

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