我在项目中遇到了一个问题。我必须读取一个xml文件,并根据我从xml获得的一些值,我必须获取一个查询,其中它应该根据xml中的匹配值获取值。
public class XMLParser extends HttpServlet
{
HashMap<String,String>hMap1=new HashMap<String, String>();
HashMap<String,String>hMap2=new HashMap<String, String>();
String series1,series2,ID;
int s1, s2;
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();
System.out.println("Root element of the document: "+ docEle.getNodeName());
NodeList studentList = docEle.getElementsByTagName("emplopyee");
System.out.println("Total emplopyee: " + 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)
{
Element e = (Element) node;
NodeList nodeList1 = e.getElementsByTagName("ID");
ID= nodeList1.item(0).getChildNodes().item(0).getNodeValue();
System.out.println("ID: "+nodeList1.item(0).getChildNodes().item(0).getNodeValue());
NodeList nodeList2 = e.getElementsByTagName("Name");
series1 =nodeList2.item(0).getChildNodes().item(0).getNodeValue();
System.out.println("Name: "+ nodeList2.item(0).getChildNodes().item(0).getNodeValue());
NodeList nodeList3 = e.getElementsByTagName("Days");
series2 = nodeList3.item(0).getChildNodes().item(0).getNodeValue();
System.out.println("Days: "+ nodeList3.item(0).getChildNodes().item(0).getNodeValue());
hMap1.put(ID,series1);
hMap2.put(ID, series2);
System.out.println(hMap1);
System.out.println(hMap2)
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root",null);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from emp1 where eid ='"+ID+"' ");
while(rs.next())
{
int n1 = Integer.parseInt(rs.getString(1));
String n2 = rs.getString(2);
int n3 = Integer.parseInt(rs.getString(3));
int n4 = Integer.parseInt(rs.getString(4));
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n4);
}
}
}
}
else {
System.exit(1);
}
}
} catch (Exception e) {
System.out.println(e);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
{
XMLParser parser = new XMLParser();
parser.getAllUserNames("D:\\employee.xml");
}
}