我正在构建一个与Web服务器通信的Android应用程序,并且正在努力应对以下场景:
给定String中的一行XML,例如:
"<test one="1" two="2" />"
Run Code Online (Sandbox Code Playgroud)
我想将值提取到HashMap中,以便:
map.get("one") = "1"
map.get("two") = "2"
Run Code Online (Sandbox Code Playgroud)
我已经可以使用SAX Parser完成一个完整的XML文档了,当我尝试用MalformedUrlException给它上面的字符串时会抱怨:找不到协议
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
Document doc = null;
builder = factory.newDocumentBuilder();
doc = builder.parse("<test one="1" two="2" />"); //here
Run Code Online (Sandbox Code Playgroud)
我意识到一些正则表达式可以做到这一点,但我真的很喜欢这样做.
可以在http://metacpan.org/pod/XML::Simple#XMLin中找到相同的行为,这是Web服务器使用的内容.
有人可以帮忙吗?感谢:D
DocumentBuilder.parse(String)将字符串视为URL.试试这个:
Document doc = builder.parse(new InputSource(new StringReader(text)));
Run Code Online (Sandbox Code Playgroud)
(text当然,其中包含XML).
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |