2017-09-28 3 views
0

Dies ist der xml String. Ich versuche, die Artikel innerhalb der Liste Artikel kann 1 oder mehr sein. Ich möchte Artikelwerte wie ID erhalten, bezahlen ... Aber ich kann die Artikel nicht erreichen. Wie kann ich mit dom4j auf diese Werte zugreifen?XML-String mit dom4j analysieren

<?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></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></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> 

Ich schätze wirklich Ihre Hilfe!

+0

Was versuchst du und wie scheitert es? –

Antwort

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

     } 

In für Schleife, extrahieren Sie & unter.

+0

Aber xml ist String nicht Datei –

+0

Es gibt mehrere Varianten der read() Methode. Überprüfen Sie https://dom4j.github.io/javadoc/2.0//org/dom4j/io/SAXReader.html#read-java.io.File- – JRR

+0

Insbesondere gibt es eine read() -Methode, die einen Reader akzeptiert, Sie können also eine StringReader() übergeben, die Ihre XML-Zeichenfolge umschließt. –