2012-11-01 149 views
1

如何解析xml StringjOOx?解析方法接受String uri,但不接受Xml String用Joox解析Xml字符串

+0

匹配你嘗試尋找到[測試用例(https://github.com/最簡單的形式jOOQ/jOOX /斑點/主/ jOOX/SRC /測試/ JAVA /組織/ joox /測試/ JOOXTest.java) – shyam

回答

4

看起來你可以使用JOOXclassStringReader來做到這一點。例如:

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); 

應該讓你開始那。請注意,可能有更簡單的方法將字符串轉換爲輸入流。

-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");