无法使用 Java 读取 XML 文档

我正在尝试解析一个 XML 文件:网络上的站点地图。我尝试了很多组合,但都没有成功。我确定我很接近,但我没有发现任何工作......


DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setNamespaceAware(true);

org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(new URL("https://www.lavisducagou.nc/page-sitemap.xml").openStream());

System.out.println("XML = " + doc);

输出:


XML = [#document: null]


输出是怎么来的[#document: null]?


文件


( "https://www.lavisducagou.nc/page-sitemap.xml)


确实在线。


在此先感谢您的帮助。


有只小跳蛙
浏览 174回答 3
3回答

噜噜哒

您正在查看的只是 toString 的实现 com.sun.org.apache.xerces.internal.dom.DocumentImplpublic String toString() {&nbsp; &nbsp; return "["+getNodeName()+": "+getNodeValue()+"]";}由于文档没有节点值,因此它为空。您需要做的是获取 childNodes 并迭代并获取所需的详细信息。由于防火墙问题,我无法使用 java 访问 URL,但这里有来自同一文件本身的一小段摘录。<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl"&nbsp; href="//www.lavisducagou.nc/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?><urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-image/1.1 http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">&nbsp; <url>&nbsp; &nbsp; <loc>https://www.lavisducagou.nc/</loc>&nbsp; &nbsp; <lastmod>2018-07-14T11:30:25+11:00</lastmod>&nbsp; </url>&nbsp; <url>&nbsp; &nbsp; <loc>https://www.lavisducagou.nc/sinscrire/</loc>&nbsp; &nbsp; <lastmod>2018-05-03T16:58:35+11:00</lastmod>&nbsp; </url></urlset>刚刚通过以下步骤更新了您的代码:DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();factory.setNamespaceAware(true);org.w3c.dom.Document doc = factory.newDocumentBuilder().parse(new URL("https://www.lavisducagou.nc/page-sitemap.xml").openStream());System.out.println("XML = " + doc);NodeList nodeList = doc.getChildNodes();for (int i=0; i<nodeList.getLength();i++) {&nbsp; &nbsp;System.out.println(nodeList.item(i).getNodeName());}示例输出:XML = [#document: null]xml-stylesheeturlset
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java