Use Xerces – 2.0.2.jar if using jdk 1.6.
Directory structure in
eclipse:
Sky.xml
<?xml version="1.0"?>
<!DOCTYPE sky SYSTEM "sky.dtd">
<sky>
<employee>
<name>Sumit Kumar</name>
<email>sky@outlook.com</email>
</employee>
<employee>
<name>Sunil Kumar</name>
<email>skumar102@outlook.com</email>
</employee>
</sky>
Sky.dtd
<!ELEMENT sky (employee*)>
<!ELEMENT employee (name,email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
SKYDOMReader.java:
package
com.sky.parse.dom;
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 SKYDOMReader {
public static void main(String[]
args) {
try{
DocumentBuilderFactory
builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder
documentBuilder=builderFactory.newDocumentBuilder();
Document
document=documentBuilder.parse("src/sky.xml");
System.out.println("Root element
:" + document.getDocumentElement().getNodeName());
NodeList nodeList=document.getElementsByTagName("employee");
for (int i = 0; i < nodeList.getLength();
i++){
Node node=nodeList.item(i);
Element eElement = (Element)
node;
System.out.println("Name :
" +
eElement.getElementsByTagName("name").item(0).getTextContent());
System.out.println("email :
" +
eElement.getElementsByTagName("email").item(0).getTextContent());
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
Output:
Root element :sky
Name : Sumit Kumar
email : sky@outlook.com
Name : Sunil Kumar
email : skumar102@outlook.com
No comments:
Post a Comment