- ベストアンサー
JavaでXMLのNodeツリーをファイル出力したいのですが
こんにちは、domagooです。 Javaで、XMLのNodeツリーの内容をファイル出力したいと思っています。 MSXMLですと、IXMLDOMDocumentオブジェクトに対して、 pXmlTree -> save("ファイルパス"); で、ツリーの内容を一度にファイルに保存することができますが、Javaにもそのようなツリーの内容を一度に保存する方法はありますでしょうか。 もし一度に保存する方法がなければ、どのような方法で保存するのが一般的であるか、ご教示ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この話は、JAVAのバージョンによってやり方が変わってきます。 たしか、JAVA1.3ではXMLが正式サポートされていなかったはずで、ファイルへの保存はパーサーの実装に依存していました。 JAVA1.4ではXMLが正式サポートされましたが、DOMの仕様にファイルの入出力がサポートされていなかったため、JAVA側で機能を実現しました。 JAVA5.0ではDOMのLEVEL3に対応したため、DOMのAPIでできると聞いています。 今回はJAVA1.4での方法を記述しておきます。 import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; TransformerFactory tff=TransformerFactory.newInstance(); Transformer tf = tff.newTransformer(); tf.setOutputProperty("encoding", "Shift_JIS"); tf.transform( new DOMSource(document), new StreamResult( new File(filename) ) );
お礼
ありがとうございます! 教えていただいた内容で、出力ができました。 お世話になりました。