谁知道java 解析xml的简单例子

 我来答
百度网友05e083c
2011-01-24 · TA获得超过737个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:167万
展开全部
package www.oneddu.cn;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ParseForJdomDemo {
public void parseXML() {
SAXBuilder builder = new SAXBuilder();// 创建构建对象
try {
// 通过传入文件名通过 builder构建一个document文档对象
Document document = builder.build("data-sources.xml");
// Document对象提供了获取XML文件根节点以及文档中各节点及属性的方法
// 获取 该XML文件中的根节点,返回Element对象
/*
* Element是 XML元素对象,该类提供了拿取和操作当前节点的子节点元素和内容, 可直接通过元素拿取文本内容
*/
Element root = document.getRootElement();
System.out.println("获取到的根节点名字---->" + root.getName());
// root.getChildren()该方法返回所有的子元素(子节点)
java.util.List<Element> childList = root.getChildren();
for (Element child : childList) { // 遍历这个集合,想要拿取所有的子元素的信息
System.out.println("获取到的子节点的元素名---->" + child.getName());
// 获取该节点下所有的属性及属性值
List<Attribute> attributes = child.getAttributes();
// Attribute 中存放的是该节点的属性及值,
for (Attribute attribute : attributes) {
System.out.println("获取 " + child.getName() + "--节点的属性名-->"
+ attribute.getName() + "\t 值="
+ attribute.getValue());
}

// 接下来,做的是获取该节点下的所有的子节点信息
List<Element> sunziList = child.getChildren();// 获取 param
// 节点下的子节点
// ,相对根节点而言是孙节点
for (Element sunzi : sunziList) { // 遍历孙节点的集合
System.out.println("孙节点名---" + sunzi.getName() + "\t 值="
+ sunzi.getValue());
}

/*
* Element保存的是节点及节点的值 Attribute 保存的是属性及属性的值 <param
* database="mysql" version="5.0"> 这条语句中 param 是节点名,database
* 是属性名,version 是属性名
*/
}
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
ParseForJdomDemo p = new ParseForJdomDemo();
p.parseXML();
}
}
我已经尽力了……
Lost_toy
2011-01-24 · TA获得超过2472个赞
知道小有建树答主
回答量:946
采纳率:0%
帮助的人:380万
展开全部
public static java.util.List<org.w3c.dom.Node> getNodeList(org.w3c.dom.Node node0) {
java.util.List<org.w3c.dom.Node> list = new java.util.ArrayList<org.w3c.dom.Node>();
org.w3c.dom.NodeList nodeList = node0.getChildNodes();
for (int i = 0; i <= nodeList.getLength(); i++) {
if (nodeList.item(i) instanceof org.w3c.dom.Element) {
list.add(nodeList.item(i));
}
}
return list;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小山山001
2011-01-24 · TA获得超过1159个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:1285万
展开全部
自己多练练
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;

import java.io.*;
public class XMLClass {
private DocumentBuilderFactory fac=DocumentBuilderFactory.newInstance();
public void parseXML()
{
try {
DocumentBuilder bu = fac.newDocumentBuilder();
InputStream input=new FileInputStream("F:\\Study\\XML\\XMLFile1.xml");
Document doc=bu.parse(input);
Element root=doc.getDocumentElement();//root element
System.out.println("Root element:"+root.getTagName());
NodeList user=root.getChildNodes();//root's child elements
if(user!=null)
{
for(int i=0;i<user.getLength();i++)
{
Node node=user.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE)
{
//System.out.print(node.getNodeName()+":");
if(node.hasAttributes())
{
System.out.print("Attr:");
NamedNodeMap map=node.getAttributes();
for(int j=0;i<map.getLength();j++)
{
Node nn=map.item(j);
System.out.print(nn.getNodeName()+":"+nn.getNodeValue());
}
}
for(Node no=node.getFirstChild();no!=null;no=no.getNextSibling())
{
if(no.getNodeType()==Node.ELEMENT_NODE){
System.out.println(no.getNodeName()+":content-"+no.getTextContent());
}
}
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nanfengbobo
2011-01-25
知道答主
回答量:46
采纳率:0%
帮助的人:0
展开全部
Jdom dom4J都可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式