我想将xml字符串转换为xml文件.我得到一个xml字符串作为输出,我到目前为止有以下代码:
public static void stringToDom(String xmlSource)
throws SAXException, ParserConfigurationException, IOException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(xmlSource)));
//return builder.parse(new InputSource(new StringReader(xmlSource)));
}
Run Code Online (Sandbox Code Playgroud)
但是我不太确定我从哪里开始.我不是在任何地方创建文件,所以如何将其合并到其中?
我将我的xml字符串传递给xmlSource.
mth*_*ers 26
如果您只想将String的内容放在一个文件中,那么它实际上是否与XML无关.您可以跳过解析(这是一个相对昂贵的操作)并只是转储String到文件,如下所示:
public static void stringToDom(String xmlSource)
throws IOException {
java.io.FileWriter fw = new java.io.FileWriter("my-file.xml");
fw.write(xmlSource);
fw.close();
}
Run Code Online (Sandbox Code Playgroud)
如果你想要安全并避免编码问题,正如Joachim所指出的那样,你需要解析.由于从不信任您的输入的良好做法,这可能是更好的方式.它看起来像这样:
public static void stringToDom(String xmlSource)
throws SAXException, ParserConfigurationException, IOException {
// Parse the given input
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(xmlSource)));
// Write the parsed document to an xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("my-file.xml"));
transformer.transform(source, result);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50364 次 |
| 最近记录: |