2016-09-14 1 views
0
<?xml version="1.0"?> 
<events> 
<event> 
<id>1234567</id> 
<Assets> 
<Asset> 
<UploadURL> 
https://www.mkyong.com/java/how-to-construct-a-file-path-in-java/ 
</UploadURL> 
<FTP> 
<RequestDT>2016-02-29 12:36:52 -0500</RequestDT> 
<ResponseDT>2016-02-29 12:36:58 -0500</ResponseDT> 
</FTP> 
<URL> 
<Value> 
http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/ 
</Value> 
</URL> 
</Asset> 
</Assets> 
</event> 
</events> 

Java-Datei:Wie bekomme ich XML-Knotenwerte mit Java?

package src; 
    import javax.xml.parsers.DocumentBuilderFactory; 
    import javax.xml.parsers.DocumentBuilder; 
    import org.w3c.dom.Document; 
    import org.w3c.dom.NodeList; 
    import org.w3c.dom.Node; 
    import org.w3c.dom.Element; 
    import java.io.File; 

    public class ReadXMLFile { 
     public static void main(String argv[]) { 
    try { 
    File fXmlFile = new File("/Users/mykong/Documents/staff.xml"); 
     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     Document doc = dBuilder.parse(fXmlFile); 
    //optional, but recommended 
     //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work 
     doc.getDocumentElement().normalize(); 
    System.out.println("Root element :" + doc.getDocumentElement().getNodeName()); 
    NodeList nList = doc.getElementsByTagName("staff"); 
    System.out.println("----------------------------"); 
    for (int temp = 0; temp < nList.getLength(); temp++) { 
    Node nNode = nList.item(temp); 
    System.out.println("\nCurrent Element :" + nNode.getNodeName()); 
    if (nNode.getNodeType() == Node.ELEMENT_NODE) { 
    Element eElement = (Element) nNode; 
     System.out.println("Staff id : " + eElement.getElementsByTagName("id").item(0).getTextContent()); 
       System.out.println("First Name : " + eElement.getElementsByTagName("UploadURL").item(0).getTextContent()); 
    //   System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent()); 
    //   System.out.println("Nick Name : " + eElement.getElementsByTagName("nickname").item(0).getTextContent()); 
    //   System.out.println("Salary : " + eElement.getElementsByTagName("salary").item(0).getTextContent()); 
     } 
     } 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
     } 
    } 

Ich bin keine Ausgabe für diese zu bekommen. Mache ich etwas falsch?

+1

Ich sehe kein Tag namens Personal. doc.getElementsByTagName ("Ereignis")? – Eritrean

+0

"Ich bekomme keine Ausgabe dafür" - auch keine Ausnahmen? Erhalten Sie die Ausgabe für das Wurzelelement? – Fildor

+0

@ - Eritrean ... danke, dass es funktioniert hat .. war mit ich sehe kein Tag namens Personal. doc.getElementsByTagName ("event") – user6690412

Antwort

1

Nun, die XML-Datei haben diesen Knoten nicht.

doc.getElementsByTagName("staff"); 
+0

hey thanks..it hat funktioniert. – user6690412

Verwandte Themen