java解析xml文件出现问题 求教??
解析xml文件对应的代码:publicstaticvoidmain(String[]args)throwsException{DocumentBuilderFactory...
解析xml文件对应的代码:
public static void main(String[]args)throws Exception{ DocumentBuilderFactory builderfactor=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderfactor.newDocumentBuilder(); Document document=builder.parse(new File("F:/test1.xml")); Element rootElement=document.getDocumentElement();int countofbooks=Integer.parseInt(rootElement.getAttribute("count"));String str=rootElement.getAttribute("xmlns");System.out.println(str);System.out.println("there are"+countofbooks+"books");NodeList childNodes=rootElement.getChildNodes();for(int i=0;i<childNodes.getLength();i++)//get the book node{Node childNode=childNodes.item(i);if(childNode.getNodeType()==Node.ELEMENT_NODE && childNode.getNodeName().equals("book"))//book element{ NodeList childNodes_2=childNode.getChildNodes(); for(int j=0;j<childNodes_2.getLength();j++) { Node childNode_2=childNodes_2.item(j); if(childNode_2.getNodeType()==Node.ELEMENT_NODE && childNode_2.getNodeName().equals("bookname"))//bookname element { NodeList childNodes_3=childNode_2.getChildNodes(); for(int k=0;k<childNodes_3.getLength();k++) { Node childNode_3=childNodes_3.item(k); if(childNode_3.getNodeType()==Node.TEXT_NODE ) { System.out.println("<<"+childNode_3.getNodeValue()+">>"); } } } }}
可是还是有问题啊 就是xml书写格式的问题 写成下面的格式解析就是对的,可是上面截图里面的格式就是错的。
<books count="3" xmlns="http://test.org/books"> <!--books's comment--> <book id="1"> <bookname> Thinking in JAVA< /> </book> <book id="2"> <bookname>Core JAVA2</> </book> <book id="3"> <bookname >C++ primer< /> </book> </books> 展开
public static void main(String[]args)throws Exception{ DocumentBuilderFactory builderfactor=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=builderfactor.newDocumentBuilder(); Document document=builder.parse(new File("F:/test1.xml")); Element rootElement=document.getDocumentElement();int countofbooks=Integer.parseInt(rootElement.getAttribute("count"));String str=rootElement.getAttribute("xmlns");System.out.println(str);System.out.println("there are"+countofbooks+"books");NodeList childNodes=rootElement.getChildNodes();for(int i=0;i<childNodes.getLength();i++)//get the book node{Node childNode=childNodes.item(i);if(childNode.getNodeType()==Node.ELEMENT_NODE && childNode.getNodeName().equals("book"))//book element{ NodeList childNodes_2=childNode.getChildNodes(); for(int j=0;j<childNodes_2.getLength();j++) { Node childNode_2=childNodes_2.item(j); if(childNode_2.getNodeType()==Node.ELEMENT_NODE && childNode_2.getNodeName().equals("bookname"))//bookname element { NodeList childNodes_3=childNode_2.getChildNodes(); for(int k=0;k<childNodes_3.getLength();k++) { Node childNode_3=childNodes_3.item(k); if(childNode_3.getNodeType()==Node.TEXT_NODE ) { System.out.println("<<"+childNode_3.getNodeValue()+">>"); } } } }}
可是还是有问题啊 就是xml书写格式的问题 写成下面的格式解析就是对的,可是上面截图里面的格式就是错的。
<books count="3" xmlns="http://test.org/books"> <!--books's comment--> <book id="1"> <bookname> Thinking in JAVA< /> </book> <book id="2"> <bookname>Core JAVA2</> </book> <book id="3"> <bookname >C++ primer< /> </book> </books> 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询