繁体   English   中英

如何在 Java 中打开 XML 文档

[英]How to open a XML doc in Java

所以,我正在尝试使用docBuilder.parse(filepath)打开带有 java 的 XML 文档

这就是我的代码的样子:

    public void openXMLfile(String filepath) {
        try { 
            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(filepath);
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }

我已经写了我的文件的绝对路径,即:

C:\\Users\\"my User account"\\Desktop ,即“我的用户帐户”,替换为我的用户帐户的实际名称

在我的主要 function 中,它看起来像这样:

    public static void main(String[] args) {

        App aplication = new App();

        String filepath = "C:\\Users\\"my User account"\\Desktop";
        aplicacao.openXMLfile(filepath);
    }

但是,我得到以下错误行:

java.net.MalformedURLException: unknown protocol: c
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
    at Trabalho.App.openXMLfile(App.java:39)
    at Trabalho.App.main(App.java:70)

谁能澄清我可能做错了什么? 可能是文件路径本身吗?

非常感谢您!

parse 方法采用文件位置的 URI,因此类似于 file:///c:/user/

这个问题给出了例子 -文件应该如何:对应于 Windows 路径名的 URI 是什么样的? 特别是保罗的评论。

示例也在https://en.m.wikipedia.org/wiki/File_URI_scheme

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM