Java 如何从internet将XML文件加载到字符串中

Java 如何从internet将XML文件加载到字符串中,java,xml,string,sax,gnu-fileutils,Java,Xml,String,Sax,Gnu Fileutils,目前我有一个java应用程序,它将XML从本地文件加载到字符串中。我的代码如下所示 private String xmlFile = "D:\\mylocalcomputer\\extract-2339393.xml"; String fileStr = FileUtils.readFileToString(new File(xmlFile)); 如果XML文件位于internet上的URL上,我如何获取该文件的内容 private String xmlURL = "htt

目前我有一个java应用程序,它将XML从本地文件加载到字符串中。我的代码如下所示

     private String xmlFile = "D:\\mylocalcomputer\\extract-2339393.xml";
     String fileStr = FileUtils.readFileToString(new File(xmlFile));
如果XML文件位于internet上的URL上,我如何获取该文件的内容

private String xmlURL = "http://mydomain.com/xml/extract-2000.xml";

XMLReader reader = XMLReaderFactory.createXMLReader();
reader.setContentHandler(handler);
reader.parse(new InputSource(new URL(xmlURL).openStream()));
有关SAX的更多信息,请检查

尝试SAX接口

private String xmlURL = "http://mydomain.com/xml/extract-2000.xml";

XMLReader reader = XMLReaderFactory.createXMLReader();
reader.setContentHandler(handler);
reader.parse(new InputSource(new URL(xmlURL).openStream()));
有关SAX检查的更多信息,请检查以下代码:

  DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  InputStream inputStream = new FileInputStream(new File("http://mydomain.com/xml/extract-2000.xml"));
  org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream);
  StringWriter stw = new StringWriter();
  Transformer serializer = TransformerFactory.newInstance().newTransformer();
  serializer.transform(new DOMSource(doc), new StreamResult(stw));
  stw.toString(); 
检查此代码:

  DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  InputStream inputStream = new FileInputStream(new File("http://mydomain.com/xml/extract-2000.xml"));
  org.w3c.dom.Document doc = documentBuilderFactory.newDocumentBuilder().parse(inputStream);
  StringWriter stw = new StringWriter();
  Transformer serializer = TransformerFactory.newInstance().newTransformer();
  serializer.transform(new DOMSource(doc), new StreamResult(stw));
  stw.toString(); 

+1用于变压器。我建议使用StreamSource而不是DOMSource来提高性能。我建议使用StreamSource而不是DOMSource来提高性能。您好,我使用SAX,但不幸的是,我需要先将XML加载到字符串中并对其进行操作。您好,我使用SAX,但不幸的是,我需要先将XML加载到字符串中并对其进行操作。