gpt4 book ai didi

java - 来自 HTTP 的 XML 解析文件

转载 作者:太空狗 更新时间:2023-10-29 23:04:29 25 4
gpt4 key购买 nike

我有一个位于如下位置的 XML 文件

http://example.com/test.xml

我正在尝试解析 XML 文件以在我的程序中使用 xPath,但它不起作用。

Document doc = builder.parse(new File(url));

如何获取 XML 文件?

最佳答案

尝试使用 URLConnection.getInputStream() 获取 XML 文件的句柄。

请看下面的代码,因为我正在尝试打开一个 xml 文件并打印所有 description 字段:

import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;

public class HTTPXMLTest
{
public static void main(String[] args)
{
try {
new HTTPXMLTest().start();
} catch (Exception e) {
e.printStackTrace();
}
}

private void start() throws Exception
{
URL url = new URL("http://localhost:8080/AutoLogin/resource/web.xml");
URLConnection connection = url.openConnection();

Document doc = parseXML(connection.getInputStream());
NodeList descNodes = doc.getElementsByTagName("description");

for(int i=0; i<descNodes.getLength();i++)
{
System.out.println(descNodes.item(i).getTextContent());
}
}

private Document parseXML(InputStream stream)
throws Exception
{
DocumentBuilderFactory objDocumentBuilderFactory = null;
DocumentBuilder objDocumentBuilder = null;
Document doc = null;
try
{
objDocumentBuilderFactory = DocumentBuilderFactory.newInstance();
objDocumentBuilder = objDocumentBuilderFactory.newDocumentBuilder();

doc = objDocumentBuilder.parse(stream);
}
catch(Exception ex)
{
throw ex;
}

return doc;
}
}

关于java - 来自 HTTP 的 XML 解析文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com