XML Parser using jsp
Learn how to parse an XML file and load dynamic data into a jsp page. This tutorial is on the DOM parser in JSP. The parser loads the xml data into a jsp page using the DOM parser.
Step1
Create an XML file. You may do so by copying the following code into a bank XML page.
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<all>
<title>FREE Tutorials on Web development scripts & tools at www.tutorials2learn.com</title>
<desc>Tutorials2learn is a FREE resource gallery. Our topics include articles for beginners, intermediate and for the advanced learners. We hope that, this will help us to build a very rich resource gallery, by mutual sharing of knowledge.</desc>
<url>http://www.tutorials2learn.com/</url>
</all>
Now, name the file as “data.xml”. The XML file is ready and now let’s look into the jsp parser.
Step.2
Create a new jsp page and name it as “myxmlparser.jsp”. Put the following code into it.
<%@ page import=”javax.xml.parsers.*,org.w3c.dom.*” %>
<%
try{
String XmlPath = “data.xml”;
%>
<%!
Document doc;
String getXMLValue(String name) {
NodeList nlist=doc.getElementsByTagName(name);
String value = nlist.item(0).getFirstChild().getNodeValue();
return value;
}
%>
<%
String appPath = application.getRealPath(“/”);
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
doc=db.parse(appPath + XmlPath);
String TitleVar = getXMLValue(“title”);
String DescVar = getXMLValue(“desc”);
String UrlVar = getXMLValue(“url”);
%>
<h2><%=TitleVar%></h2>
<p><%=DescVar%></p>
<a href=”<%=UrlVar%>” >Visit the Site</a>
<%
}catch(Exception e){
}%>
Code Explained:
<%@ page import=”javax.xml.parsers.*,org.w3c.dom.*” %>
Importing the necessary parsing classes.
String XmlPath = “data.xml”;
Path to the Xml file.
<%!
Document doc;
String getXMLValue(String name) {
NodeList nlist=doc.getElementsByTagName(name);
String value = nlist.item(0).getFirstChild().getNodeValue();
return value;
}
%>
Function to retrieve data from the XML DOM.
String appPath = application.getRealPath(“/”);
get the real Path to the root in a variable.
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
doc=db.parse(appPath + XmlPath);
XML DOM creation and parsing the XML. The DOM is ready for Communication with XML.
String TitleVar = getXMLValue(“title”);
String DescVar = getXMLValue(“desc”);
String UrlVar = getXMLValue(“url”);
Get the node values into String variables.
<h2><%=TitleVar%></h2>
<p><%=DescVar%></p>
<a href=”<%=UrlVar%>” >Visit the Site</a>
Print the variable values into the page.
Click here to download the resorces.



Tried your example but I get a blank page. I did a copy and paste to the files you suggested and did not seem to get any errors. I viewed the source of the blank page and I get numbers 1 2 3 4 5 6 . Any clue???
Rey
The xml file path given could be wrong. Please check the “appPath” value. appPath should be the path to your xml file. The sample files can be downloaded here.