文档类型声明为根元素类型“的plist”必须以结束“>”
问题描述:
我有xml文件的这样的报头:文档类型声明为根元素类型“的plist”必须以结束“>”
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"/>
<plist version="1.0">
<dict>
<key>frames</key>
</dict>
</plist>
我想使用org.w3c.dom.Document
读取它。当我在此代码
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(path);
解析它,我得到以下异常:
[Fatal Error] atlas_ID117.plist:2:102: The document type declaration for root element type "plist" must end with '>'.
Exception in thread "main" java.lang.NullPointerException
at main.PlistReader.findFramesList(PlistReader.java:36)
at main.PlistReader.<init>(PlistReader.java:32)
at main.Main.main(Main.java:12)
结果builder.parse
方法返回null。但我不能改变XML文件!
如何解决这个问题?
答
DOCTYPE
不是一个元素,最后没有固体。所以删除/
之前的>
:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"/>
Here ------------------------------------------------------------------------------------------------^