我正在尝试使用DOM解析器解析java中的xml文件,并且它正常工作。 我遇到的问题是,如果标签不一致,我会收到错误。例如,我有一个xml文件,如下所示
<employee>
<employeeid></employeeid>
<name></name>
<secondname></secondname>
</employee>
<employee>
<employeeid></employeeid>
<name></name>
<secondname></secondname>
</employee>
<employee>
<employeeid></employeeid>
<secondname></secondname>
</employee>
因为最后一个元素中缺少name标签,我得到一个错误,但是如果我把它放进去就可以了。有没有办法解决这个问题?
System.out.println(“doc的根元素是”+ 。doc.getDocumentElement()getNodeName());
NodeList listOfCourses = doc.getElementsByTagName("employee");
int totalCourses = listOfCourses.getLength();
System.out.println("Total no of courses : " + totalCourses);
for(int s=0; s<listOfCourses.getLength() ; s++){
Node firstCourseNode = listOfCourses.item(s);
if(firstCourseNode.getNodeType() == Node.ELEMENT_NODE){
Element firstCourseElement = (Element)firstCourseNode;
//-------
NodeList employeeList = firstCourseElement.getElementsByTagName("employeeId");
Element employeeElement = (Element)employeeList.item(0);
NodeList textFNList = employeeElement.getChildNodes();
System.out.println("CourseId : " +
((Node)textFNList.item(0)).getNodeValue().trim());
//-------
NodeList titleList = firstCourseElement.getElementsByTagName("name");
Element titleElement = (Element)titleList.item(0);
NodeList textLNList = titleElement.getChildNodes();
System.out.println("Title : " +
((Node)textLNList.item(0)).getNodeValue().trim());
//----
NodeList descriptionList = firstCourseElement.getElementsByTagName("secondname");
Element ageElement = (Element)descriptionList.item(0);
NodeList textdescrList = ageElement.getChildNodes();
System.out.println("Description : " +
((Node)textdescrList.item(0)).getNodeValue().trim());