我想从一个 url 读取一个 xml 代码并使用 java 打印它。网址是http://ste.hwg.cz/values.xml
阅读stackoverflow答案后,我尝试了很多代码,但它不起作用。
顺便说一句,我是 Java 新手,我刚刚编写了 Pascal 和 Delphi
我想从一个 url 读取一个 xml 代码并使用 java 打印它。网址是http://ste.hwg.cz/values.xml
阅读stackoverflow答案后,我尝试了很多代码,但它不起作用。
顺便说一句,我是 Java 新手,我刚刚编写了 Pascal 和 Delphi
这是基于我对 SO 的微小研究。
对于输入流的 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));
这是我用于此类任务的代码:
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 的字符串。