这是 xml 字符串。我想在列表中找到项 项目可以是1或更多。我想获得像Id这样的项目价值,支付...... 但我无法达到这些项目。如何使用dom4j访问此值?
<?xml version="1.0" encoding="UTF-8"?>
<data>
<cm>Detail</cm>
<Code>1</Code>
<No>20170928</No>
<Num>1</Num>
<Flag>Y</end_Flag>
<list>
<items>
<item>
<Id>01234567</Id>
<pay>5555</pay>
<remarksInfo></remarksInfo>
<d_Date>2017-09-28 16:26:55</d_Date>
<amount>1.0</amount>
<Name>ADAM</Name>
<e_Date>2017-09-28 16:26:55</e_Date>
<t_Date>2017-09-28 17:46:39</t_Date>
<damount>1.0</damount>
<fee>3.0</fee>
<e_Name>Smith</e_Name>
<abstractInfo></abstractInfo>
<Status>S</Status>
<Code>0026</Code>
<l_Desc></l_Desc>
<note></note>
</item>
<item>
<Id>01234567</Id>
<pay>5555</pay>
<remarksInfo></remarksInfo>
<d_Date>2017-09-28 16:26:55</d_Date>
<amount>1.0</amount>
<Name>ADAM</Name>
<e_Date>2017-09-28 16:26:55</e_Date>
<t_Date>2017-09-28 17:46:39</t_Date>
<damount>1.0</damount>
<fee>3.0</fee>
<e_Name>Smith</e_Name>
<abstractInfo></abstractInfo>
<Status>S</Status>
<Code>0026</Code>
<l_Desc></l_Desc>
<note></note>
</item>
</items>
</list>
<hmac>123</hmac>
</data>
我真的很感谢你的帮助!
答案 0 :(得分:0)
SAXReader reader = new SAXReader();
Document document = reader.read( inputFile );
Element classElement = document.getRootElement();
List<Node> nodes = document.selectNodes("/data/list/items" );
System.out.println("----------------------------");
for (Node node : nodes) {
//get ID & Pay under item
String id = node.selectSingleNode("Id").getText()
String pay = node.selectSingleNode("Pay").getText()
}
for for循环,提取&amp;在。
答案 1 :(得分:0)
我在同样的问题上苦苦挣扎,并在DOM4J Documentation中找到了解决方案。
如果您有一些XML作为字符串,则可以使用来再次将其解析回文档中 助手方法DocumentHelper.parseText()
字符串text =“ James”;
文档document = DocumentHelper.parseText(text);