java解析xml 然后用jsp逐一展现xml的数据?

 我来答
截枫大爷
推荐于2018-04-16 · 超过24用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:31.7万
展开全部
前段时间刚好自己随便写的一个解析XML的类,你只需要新建一个hashMap,把解析出来的数据放在map中,在页面上用EL表达式写出即可。。。祝你好运!

public class ParseXml
{

// 示例xml文件
/*
* <?xml version="1.0"?>
* <students>
<student>
<name>John</name>
* <grade>B</grade> <age>12</age> </student> <student> <name>Mary</name>
* <grade>A</grade> <age>11</age> </student> <student> <name>Simon</name>
* <grade>A</grade> <age>18</age>
* </student>
* </students>
*/

@SuppressWarnings("unused")
private static void getAllUserNames(String fileName) throws Exception
{
//实例化文档对象创建工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//实例化文档创建类
DocumentBuilder builder = factory.newDocumentBuilder();
//要解析的文件
File file = new File(fileName);

if (file.exists())
{
//开始解析
Document doc = builder.parse(file);
//得到文档元素
Element docElement = doc.getDocumentElement();

System.out.println(docElement.getNodeName());
//根据标签名渠道节点集合
NodeList nodeList = doc.getElementsByTagName("student");

System.out.println("totle students:" + nodeList.getLength());
//遍历
if (nodeList != null && nodeList.getLength() > 0)
{
for (int i = 0; i < nodeList.getLength(); i++)
{
Node node = nodeList.item(i);

if (node.getNodeType() == Node.ELEMENT_NODE)
{
System.out.println("+=============");

Element element = (Element) node;

NodeList names = element.getElementsByTagName("name");

System.out.println("name:"
+ names.item(0).getChildNodes().item(0)
.getNodeValue());

NodeList grades = element.getElementsByTagName("grade");

System.out.println("grade:"
+ grades.item(0).getChildNodes().item(0)
.getNodeValue());
}
}
}
else
{
System.exit(1);
}
}
}

public static void main(String[] args) throws Exception
{
getAllUserNames("C:\\test.xml");
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式