Created
May 19, 2009 14:27
-
-
Save taboularasa/114131 to your computer and use it in GitHub Desktop.
Parsing / Reading XML file in Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.viralpatel.java.xmlparser; | |
import java.io.File; | |
import javax.xml.parsers.DocumentBuilder; | |
import javax.xml.parsers.DocumentBuilderFactory; | |
import org.w3c.dom.Document; | |
import org.w3c.dom.Element; | |
import org.w3c.dom.Node; | |
import org.w3c.dom.NodeList; | |
public class XMLParser { | |
public void getAllUserNames(String fileName) { | |
try { | |
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); | |
DocumentBuilder db = dbf.newDocumentBuilder(); | |
File file = new File(fileName); | |
if (file.exists()) { | |
Document doc = db.parse(file); | |
Element docEle = doc.getDocumentElement(); | |
// Print root element of the document | |
System.out.println("Root element of the document: " | |
+ docEle.getNodeName()); | |
NodeList studentList = docEle.getElementsByTagName("student"); | |
// Print total student elements in document | |
System.out | |
.println("Total students: " + studentList.getLength()); | |
if (studentList != null && studentList.getLength() > 0) { | |
for (int i = 0; i < studentList.getLength(); i++) { | |
Node node = studentList.item(i); | |
if (node.getNodeType() == Node.ELEMENT_NODE) { | |
System.out | |
.println("====================="); | |
Element e = (Element) node; | |
NodeList nodeList = e.getElementsByTagName("name"); | |
System.out.println("Name: " | |
+ nodeList.item(0).getChildNodes().item(0) | |
.getNodeValue()); | |
nodeList = e.getElementsByTagName("grade"); | |
System.out.println("Grade: " | |
+ nodeList.item(0).getChildNodes().item(0) | |
.getNodeValue()); | |
nodeList = e.getElementsByTagName("age"); | |
System.out.println("Age: " | |
+ nodeList.item(0).getChildNodes().item(0) | |
.getNodeValue()); | |
} | |
} | |
} else { | |
System.exit(1); | |
} | |
} | |
} catch (Exception e) { | |
System.out.println(e); | |
} | |
} | |
public static void main(String[] args) { | |
XMLParser parser = new XMLParser(); | |
parser.getAllUserNames("c:\\test.xml"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<students> | |
<student> | |
<name>John</name> | |
<grade>B</grade> | |
<age>12</age> | |
</student> | |
<student> | |
<name>Mary</name> | |
<grade>A</grade> | |
<age>11</age> | |
</student> | |
<student> | |
<name>Simon</name> | |
<grade>A</grade> | |
<age>18</age> | |
</student> | |
</students> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment