我有一个xml文件(thexml.xml),它与res / raw文件夹中的dtd(thedtd.dtd)文件相关。
这是xmlfile的DOCTYPE:<!DOCTYPE myApp SYSTEM "thedtd.dtd">
因为相对设置了dtd文件的地址,我得到了这个错误:
org.xml.sax.SAXParseException: Relative URI "thedtd.dtd";
can not be resolved without a base URI.
所以我想给DOCTYPE一个dtd文件的绝对路径,但我不知道地址是什么。我试过这个
android.resource://com.ssh.mine/raw/thedtd
注意:( com.ssh.mine是我项目的包名)
但它没有用,我得到了java.net.MalformedURLException。 那么res / raw文件夹的绝对路径应该是什么......
答案 0 :(得分:1)
应用中res / raw文件夹的绝对路径是什么?
没有路径。原始资源是ZIP存档中的条目,即APK。
我在res / raw文件夹中有一个xml文件(thexml.xml)和它相关的dtd(thedtd.dtd)文件。这是xmlfile的DOCTYPE:因为相对设置了dtd文件的地址,我得到了这个错误:
使用assets/
而不是res/raw/
可能会有更好的运气,但是根据您使用XML的情况,我怀疑它们都不会起作用。在最坏情况下,您需要将文件复制到内部存储(例如getFilesDir()
),然后再使用它们。
或者,将XML放在res/xml/
中并删除DTD,在这种情况下,您可以从XmlPullParser
对象获取XML上的Resources
。