Xml-fileがあります。私はそれを読んで、いくつかの変更を行い、新しい変更されたバージョンを新しい宛先に書き込む必要があります。
このファイルを(DocumentBuilderFactory
、DocumentBuilder
、Document
などを使用して)読み取り、解析、およびパッチすることができました。
しかし、私はそのファイルを保存する方法を見つけることができません。プレーンテキストビュー(String
として)を取得する方法はありますか?
このような何かが動作します:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Result output = new StreamResult(new File("output.xml"));
Source input = new DOMSource(myDocument);
transformer.transform(input, output);
xerces-j を使用している場合、これは機能します。
public void serialise(org.w3c.dom.Document document) {
Java.io.ByteArrayOutputStream data = new Java.io.ByteArrayOutputStream();
Java.io.PrintStream ps = new Java.io.PrintStream(data);
org.Apache.xml.serialize.OutputFormat of =
new org.Apache.xml.serialize.OutputFormat("XML", "ISO-8859-1", true);
of.setIndent(1);
of.setIndenting(true);
org.Apache.xml.serialize.XMLSerializer serializer =
new org.Apache.xml.serialize.XMLSerializer(ps, of);
// As a DOM Serializer
serializer.asDOMSerializer();
serializer.serialize(document);
return data.toString();
}
これにより、xml形式を定義できるようになります
new XMLWriter(new FileOutputStream(fileName),
new OutputFormat(){{
setEncoding("UTF-8");
setIndent(" ");
setTrimText(false);
setNewlines(true);
setPadText(true);
}}).write(document);