java读出xml中的内容。

作业是这样的:1、把你的图书证数据编写成一个xml文件;2、把姓名,学号读出来,打印出表来。因为这节课是J2EE,所以应该用java读出来比较好。网上初学了xml,自己弄... 作业是这样的:1、把你的图书证数据编写成一个xml文件;
2、把姓名,学号读出来,打印出表来。
因为这节课是J2EE,所以应该用java读出来比较好。网上初学了xml,自己弄了下,不知道对不对。2不会弄,网上的太长,看不懂。求给写下,越简单越好,简单易懂我也能看明白些!
<?xml version="1.0" encoding="UTF-8"?>
<librarycards>
<librarycard>
<name>张三</name>
<sex>男</sex>
<studentNO.>11111<studentNO.>
<cardNO.>22222<cardNO.>
<faculty>南京某某大学</faculty>
</librarycard>
</librarycards>
这是我写的xml。
对了还有个问题,网上说要用DTD,我没用到,表格也能浏览这个XML,还要用DTD么?
展开
 我来答
longdage1992
推荐于2016-10-11 · TA获得超过257个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:128万
展开全部

DTD是对xml格式进行规范的,当它不合规范,xml就会飘红,我想,对于你这个题目来说完全没有必要。

<?xml version="1.0" encoding="UTF-8"?>
<librarycards>
<librarycard>
<name>张三</name>
<sex>男</sex>
<studentNO>11111</studentNO>
<cardNO>22222</cardNO>
<faculty>南京某某大学</faculty>
</librarycard>
<librarycard>
<name>李四</name>
<sex>男</sex>
<studentNO>11112</studentNO>
<cardNO>22223</cardNO>
<faculty>南京某某大学</faculty>
</librarycard>
</librarycards>
package com.lhx.test;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class Test {
public static void main(String[] args) {
DocumentBuilderFactory factory=
DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=factory.newDocumentBuilder();
File f=new File("src/com/lhx/test/test.xml");
try {
Document doc=builder.parse(f);
Element root= doc.getDocumentElement();
NodeList list1=root.getElementsByTagName("name");
NodeList list2=root.getElementsByTagName("sex");
NodeList list3=root.getElementsByTagName("studentNO");
NodeList list4=root.getElementsByTagName("cardNO");
NodeList list5=root.getElementsByTagName("faculty");
// HashMap<String,Student> map=new HashMap<String, Student>(); 要保存就创建Student
for(int i=0;i<list1.getLength();i++){
String name=list1.item(i).getTextContent();
System.out.println("\tname:\t"+name);
String sex=list2.item(i).getTextContent();
System.out.println("\tsex:\t"+sex);
String studentNO=list3.item(i).getTextContent();
System.out.println("\tstudentNo:\t"+studentNO);
String cardNO=list4.item(i).getTextContent();
System.out.println("\tcardNo:\t"+cardNO);
String faculty=list5.item(i).getTextContent();
System.out.println("\tfaculty:\t"+faculty);
}


} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}



} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

附图:

这是dom解析,,,大概就解析成这样。然后。。。。你需要其他的处理应该不难了。



如果可行的话,望采纳…………^_^

凌春枫93
2015-03-11 · TA获得超过1248个赞
知道小有建树答主
回答量:686
采纳率:100%
帮助的人:573万
展开全部
SAX解析,DOM解析,PULL解析,任选其一
追问
能具体帮我写一种不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式