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>
展开
 我来答
dreamseaKIK
2015-04-25 · TA获得超过670个赞
知道小有建树答主
回答量:463
采纳率:81%
帮助的人:185万
展开全部
这和你代码里取值方式有关系, <bookname> Thinking in JAVA< /> 这种写法,取Thinking in JAVA是取内容,nodeVlue,而图片里面的取值,想要获取Thinking in JAVA,取的是节点的属性值,不能用nodeValue来获取。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式