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>https://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.