[英]how to read/fetch the XML file from an URL using Java?
我想从URL读取XML文件,然后解析它。 如何在Java中执行此操作?
从URL读取与任何其他输入源不同。 有几种用于XML解析的Java工具。
您可以使用Xstream
支持此功能。
URL url = new URL("yoururl");
BufferedReader in = new BufferedReader(
new InputStreamReader(
url.openStream()));
xSteamObj.fromXML(in);//return parsed object
两步:
连接两者并获得例如DOM进行进一步处理。
我使用JDOM:
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.*;
StringBuilder responseBuilder = new StringBuilder();
try {
// Create a URLConnection object for a URL
URL url = new URL( "http://127.0.0.1" );
URLConnection conn = url.openConnection();
HttpURLConnection httpConn;
httpConn = (HttpURLConnection)conn;
BufferedReader rd = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
String line;
while ((line = rd.readLine()) != null)
{
responseBuilder.append(line + '\n');
}
}
catch(Exception e){
System.out.println(e);
}
SAXBuilder sb = new SAXBuilder();
Document d = null;
try{
d = sb.build( new StringReader( responseBuilder.toString() ) );
}catch(Exception e){
System.out.println(e);
}
当然,您可以将整个读取的URL剪切为字符串,然后将字符串读取器放在字符串上,但是Ive从两个不同的区域进行了剪切/粘贴。 所以这更容易。
这是使用Streaming解析器的一个很好的候选者: StAX StAX被设计为串行处理XML流。 相比之下,需要一次性完成整个文档模型的DOM API相比。 StAX还假定内容是动态的,并且XML的本质并未真正为人所知。 StAX用例也包括处理管道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.