java-如何从url读取xml?

xpcnnkqh  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(383)

很难说出这里要问什么。这个问题模棱两可,含糊不清,不完整,过于宽泛,或者是修辞性的,不能以现在的形式得到合理的回答。有关澄清此问题以便重新打开的帮助,请访问帮助中心。
7年前关门了。
我想从一个url读取一个xml代码并使用java打印它。url为http://ste.hwg.cz/values.xml
我在读了答案后尝试了很多代码,但都不起作用。
顺便说一句,我是java新手,我刚刚编写了pascal和delphi

goqiplq2

goqiplq21#

解析还是打印?

这是基于我对so的微小研究。

解析:

对于inputstream的xml解析,可以执行以下操作:

// the SAX way:
XMLReader myReader = XMLReaderFactory.createXMLReader();
myReader.setContentHandler(handler);
myReader.parse(new InputSource(new URL(url).openStream()));

// or if you prefer DOM:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new URL(url).openStream());

打印:

如果要将xml直接打印到屏幕上,可以使用 TransformerFactory ```
URL url = new URL(urlString);
URLConnection conn = url.openConnection();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(conn.getInputStream());

TransformerFactory factory = TransformerFactory.newInstance();
Transformer xform = factory.newTransformer();

// that’s the default xform; use a stylesheet to get a real one
xform.transform(new DOMSource(doc), new StreamResult(System.out));

jslywgbw

jslywgbw2#

以下是我用于此类任务的代码:

public void readFromUrl(String inurl){
try {
    URL url = new URL(inurl);

    BufferedReader in = new BufferedReader(
        new InputStreamReader(url.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            // HERE YOU CAN PRINT/LOG/SAVE THE LINE.
        }
        in.close();
} catch (Exception e) {
    e.printStackTrace();
}
}

附笔
可以使用stringbuilder构建包含xml的字符串。

相关问题