我发现并关注了如何读取XML的Stackoverflow(http://stackoverflow.com/questions/2310139/how-to-read-xml-response-from-a-url-in-java)中的示例来自URL的文件(您可以在我下面粘贴的代码中看到)。我唯一的麻烦是,现在我得到了读取XML的程序,我如何让它存储它?例如,我是否可以将信息保存到项目中内置的XML文件中(如果可能的话,这对我来说是最好的解决方案)?例如,我在项目中内置了一个空白的XML文件。该程序运行,从URL读取XML代码,并将其全部存储到预先构建的空白XML文件中。我可以这样做吗?
如果我对任何事情听起来有点混乱或不清楚,请让我澄清一下我在寻找什么。
以下是我的代码,如果您想查看我到目前为止的内容:
package xml.parsing.example;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
public class XmlParser {
public static void main (String[] args) throws IOException, ParserConfigurationException, SAXException, TransformerException {
URL url = new URL("http://totheriver.com/learn/xml/code/employees.xml");
URLConnection conn = url.openConnection();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(conn.getInputStream());
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer xform = tfactory.newTransformer();
// that’s the default xform; use a stylesheet to get a real one
xform.transform(new DOMSource(doc), new StreamResult(System.out));
}
}
答案 0 :(得分:4)
非常简单:
File myOutput = new File("c:\\myDirectory\\myOutput.xml");
xform.transform(new DOMSource(doc), new StreamResult(myOutput));
答案 1 :(得分:0)
This page有一些很好的例子,说明如何将DOM对象序列化为格式整齐的XML文件。