xml看起来像这样:
<statements> <statement account="123"> ...stuff... </statement> <statement account="456"> ...stuff... </statement> </statements>
我正在使用stax处理一个“< statement>”在那个时候,我得到了工作.我需要将整个语句节点作为字符串获取,这样我就可以创建“123.xml”和“456.xml”,甚至可以将其加载到由account索引的数据库表中.
使用这种方法:http://www.devx.com/Java/Article/30298/1954
我想做这样的事情:
String statementXml = staxXmlReader.getNodeByName("statement"); //load statementXml into database
解决方法
为什么不直接使用xpath呢?
你可以有一个相当简单的xpath来获取所有’statement’节点.
像这样:
//statement
编辑#1:如果可能,请查看dom4j.您可以读取字符串并相当简单地获取所有“语句”节点.
编辑#2:使用dom4j,你就是这样做的:
(来自他们的食谱)
String text = "your xml here"; Document document = DocumentHelper.parseText(text); public void bar(Document document) { List list = document.selectNodes( "//statement" ); // loop through node data }