Wie schreibt man ein XML-Dokument der Version 1.1 in Java? Java scheint nur Version 1.0 zu unterstützen.XML 1.1-Dokumente können nicht in Java geschrieben werden
ich die OutputKeys.VERSION
Ausgang Eigenschaft versuchte, mit, wie unten gezeigt, aber das hatte keine Wirkung:
DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
DocumentBuilder db = fact.newDocumentBuilder();
Document doc = db.newDocument();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.VERSION, "1.1");
DOMSource source = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
transformer.transform(source, result);
System.out.println(writer.toString());
//still produces a 1.0 XML document
ich den obigen Code in der folgenden JVMs getestet:
- Linux: OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-1 ~ deb7u1)
- Linux: Java (TM) SE Runtime Environment (build 1.8.0_25-b17)
Ich möchte, wenn möglich, keine externen Bibliotheken hinzufügen. Vielen Dank.
Welche Java-Version verwenden Sie? Ich benutze Java 8 und für mich funktioniert dein Code ... EDIT: es funktioniert auch mit 7. – Glorfindel
Java 7. Vielleicht hängt es von der JVM-Implementierung ab? Ich verwende OpenJDK. Hier ist die Ausgabe von meiner 'java -version': OpenJDK Laufzeitumgebung (IcedTea 2.5.5) (7u79-2.5.5-1 ~ deb7u1) OpenJDK Server VM (build 24.79-b02, gemischter Modus) – Michael
@ Glorfindel Don Ich weiß nicht, ob es wichtig ist, aber "OutputKeys.STANDALONE" auf "yes" zu setzen, hat auch keine Wirkung. – Michael