【发布时间】:2016-09-15 17:37:33
【问题描述】:
我正在尝试使用位于网络驱动器上的 Java 解析 XML 文件...我在这里查看了很多 XML 解析信息,但找不到我需要的答案...问题是 getDocument() 例程即使解析器获得准确的位置和文件名,也会不断返回空值。
这里是代码...
String ThisXMLFile = XMLFileData.getPath();
DOMParser myXMLParser = new DOMParser();
myXMLParser.parse(ThisXMLFile);
Document doc = myXMLParser.getDocument();
一些注意事项:
我不得不使用 getPath(),因为 getName() 函数没有返回完全限定的文件名和路径 - XML 文件位于网络目录中,并且该目录在我的 PC 上映射到“V”驱动器
我已经为 DOM 对象导入了所有需要的类头文件
上面给出的变量名是真实准确的,所以如果我无意中在变量声明中使用了保留关键字,请提供更正。
我在几种语言方面拥有丰富的编程经验,但这是我的第一个真正的 Java 应用程序。
所有代码行和上面的变量都可以工作,直到我到达最后一行,然后 getDocument() 只是将 doc 变量设置为 null...这使得程序的其余部分中断。
【问题讨论】:
-
你用什么库来解析 XML ??
-
导入 com.sun.org.apache.xerces.internal.parsers.DOMParser;
-
包以
com.sun.开头的任何类都被视为内部实现细节,应用程序永远不应直接引用这些细节。相反,使用DocumentBuilderFactory.newInstance().newDocumentBuilder()创建一个 DocumentBuilder 实例,然后将new File(ThisXMLFile)传递给 DocumentBuilder 的 parse 方法。 -
也试过了,感谢您的回复,但除了解析器返回的空值外,我什么也没有得到......而且文件在正确的位置,目录中没有白色的步伐...非常混乱...这实际上应该是一个简单的功能...
-
我注意到使用 DocumentBuilderFactory 时有些奇怪...当我输入以下代码时: DocumentBuilderFactory.newInstance() - 'newInstance()' 出现,斜体应用于字体,没有其他函数调用执行此操作...我注意到,当我看到这样的内容时,它通常表示代码有问题..这些是我要导入以使用此功能的库 import javax.xml.parsers.DocumentBuilder;导入 javax.xml.parsers.DocumentBuilderFactory;
标签: java xml xml-parsing