我有这个例外。但此异常不会再次重现。我想知道这个的原因
Exception Caught while Checking tag in XMLjava.net.URISyntaxException:
Illegal character in opaque part at index 2:
C:\Documents and Settings\All Users\.SF\config\sd.xml
stacktrace net.sf.saxon.trans.XPathException.
为什么会出现这个异常。怎么处理就不会重现了。
原文由 aayushi soni 发布,翻译遵循 CC BY-SA 4.0 许可协议
有效的 URI 不包含反斜杠,如果它包含
:
则第一个:
之前的字符必须是“协议”。基本上
"C:\Documents and Settings\All Users\.SF\config\sd.xml"
是一个路径名,而不是一个有效的 URI。如果要将路径名转换为“文件:”URI,请执行以下操作:
这是在 Java 中将路径名转换为有效 URI 的最简单、最可靠和可移植的方法。它应该可以在 Windows、Mac、Linux 和任何其他支持 Java 的平台上运行。 (涉及在路径名上使用字符串攻击的其他解决方案不可移植。)
但是您需要意识到“文件:”URI 有许多注意事项,如
File.toURI()
方法的 javadoc 中所述。例如,在一台机器上创建的“文件:”URI 通常表示另一台机器上的不同资源(或根本没有资源)。