2011-09-22 11 views
6

Chcę utworzyć XML w Javie.Jak usunąć kodowanie = "UTF-8" standalone = "no" z xml Obiekt dokumentu w Javie

 DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder docBuilder; 
    docBuilder = dbfac.newDocumentBuilder(); 
    Document doc = docBuilder.newDocument(); 

ale Java automatycznie tworzy deklarację jak ten

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 

Jak mogę usunąć encoding="UTF-8" standalone="no" tak będzie

<?xml version="1.0"?> 

Dzięki!

+1

Dlaczego cię to obchodzi? –

+0

możliwy duplikat http://stackoverflow.com/questions/2133395/remove-xml-declaration-from-the-generated-xml-document-using-java –

+0

@JoachimSauer, Nie chcę przesłonić kodowania, ponieważ inne program używa tego XML w sposób, którego nie znam. Więc nie mogę być pewien, jakie kodowanie mogę ustawić – VextoR

Odpowiedz

-2

Myślę, że nie ma żadnego legalnego sposobu na wykluczenie tych atrybutów z generacji. Ale po jego wygenerowaniu możesz użyć XSLT, aby to usunąć.

Myślę, że to dobra droga.

13

Dlaczego trzeba usunąć kodowanie? Ale ..

doc.setXmlStandalone(true); 

usunie standalone="no"

11
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 

To rozwiązało problemu, weryfikowanym przy JDK 6

+0

Nie rozumiem znaku ujemnego na pytanie. Miałem ten sam problem, aby utworzyć plik BPEL i może być mnóstwo innych powodów, które są potrzebne. Dziękuję ci za odpowiedź. Zajęłoby mi wieki. – eskalera