【发布时间】:2017-05-01 06:46:12
【问题描述】:
我已经尝试了所有不同类型的组合,但我就是没有从我这里得到它想要的:
java.net.MalformedURLException: no protocol: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ds><ds>...
at java.net.URL.<init>(URL.java:593)
at java.net.URL.<init>(URL.java:490)
at java.net.URL.<init>(URL.java:439)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:620)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:805)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:177)
我查看了其他问题,但我不明白我的 XML 有什么问题。
这是完整的 XML(删除了一些纯文本):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ds>
<ds>
<cue>ABGB : §§ 786 , 810 , 812 </cue>Die Kosten ... <cue>Anmerkung : </cue>
... <cue>Bestätigung von </cue>7
<Relation bewertung="1">Ob 56/10a </Relation>= Zak
<Relation bewertung="1">2010/773 , 440 </Relation>.
</ds>
</ds>
生产代码:
DocumentBuilderFactory icFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder icBuilder;
Document parse = null;
try {
icBuilder = icFactory.newDocumentBuilder();
parse = icBuilder.parse(xmlString);
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
【问题讨论】:
-
能否也分享一下代码?
-
因为你的 xml 不是 URL
-
您不能从 XML 字符串创建 URL 对象 - 必须是实际的 URL
-
我投票决定将此问题作为离题结束,因为答案在 URL javadoc 中:docs.oracle.com/javase/8/docs/api/java/net/URL.html
-
这看起来很清楚,真的。你到底想做什么?!