如何String
使用jOOx解析 Xml ?parse 方法接受 String uri,但不接受 Xml String
。
问问题
2183 次
2 回答
4
看起来你可以使用JOOX
类和StringReader来做到这一点。例如:
String xml = "<?xml version='1.0'?><root><child attr='attr' /></root>";
StringReader sr = new StringReader( xml );
Match m = JOOX.builder().parse( sr );
请参阅 JOOX 使用的DocumentBuilder API。
您可能必须将其转换为StringReader
等价InputSource
物,但这是一个相对微不足道的转换。从测试用例:
xmlExampleString = IOUtil.toString(JOOXTest.class.getResourceAsStream("/example.xml"));
xmlExampleDocument = builder.parse(new ByteArrayInputStream(xmlExampleString.getBytes()));
在这种情况下,您可以编写:
String xml = "<?xml version='1.0'?><root><child attr='attr' /></root>";
StringReader sr = new StringReader( xml );
ByteArrayInputStream bais = new ByteArrayInputStream( new InputStreamReader( sr ) );
document = builder.parse( bais );
那应该让你开始。请注意,可能有更简单的方法可以将字符串转换为输入流。
于 2012-11-01T17:24:51.663 回答
-1
在最简单的形式中,它看起来像这样
// Parse the document from string
Document document = $(new StringReader("<?xml version='1.0'?><root><child attr='attr' /></root>")).document();
然后做你的匹配
// Wrap the document with the jOOX API and find root element
Match m = $(document).find("root");
于 2016-03-02T07:48:55.823 回答