【问题标题】:How to load XML file from internet into a string如何从 Internet 将 XML 文件加载到字符串中
【发布时间】:2012-01-16 06:06:44
【问题描述】:

目前我有一个 java 应用程序,可以将本地文件中的 XML 加载到字符串中。我的代码是这样的

     private String xmlFile = "D:\\mylocalcomputer\\extract-2339393.xml";
     String fileStr = FileUtils.readFileToString(new File(xmlFile));

如果 XML 文件位于 Internet 上,我如何获取它的内容,例如 http://mydomain.com/xml/extract-2000.xml 之类的 URL?

【问题讨论】:

    标签: java xml string sax gnu-fileutils


    【解决方案1】:

    试试萨克斯接口

    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 的更多信息,请查看this link

    【讨论】:

    • 您好,我正在使用 SAX,但不幸的是,我需要先将 XML 加载到字符串中并对其进行操作。
    【解决方案2】:

    检查此代码:

      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 来提高性能。
    猜你喜欢
    • 2020-01-07
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多