Java全面解析XML格式串(JDOM解析)
Java全面解析XML格式串(JDOM解析)
importjava.io.IOException;
importjava.io.StringReader;
importjava.util.List;
importorg.jdom.Document;
importorg.jdom.Element;
importorg.jdom.JDOMException;
importorg.jdom.Namespace;
importorg.jdom.input.SAXBuilder;
importorg.xml.sax.InputSource;
publicclassDuXMLDoc{
publicListxmlElements(StringxmlDoc){
//创建一个新的字符串
StringReaderread=newStringReader(xmlDoc);
//创建新的输入源SAX解析器将使用InputSource对象来确定如何读取XML输入
InputSourcesource=newInputSource(read);
//创建一个新的SAXBuilder
SAXBuildersb=newSAXBuilder();
try{
//通过输入源构造一个Document
Documentdoc=sb.build(source);
//取的根元素
Elementroot=doc.getRootElement();
System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
Listjiedian=root.getChildren();
//获得XML中的命名空间(XML中未定义可不写)
Namespacens=root.getNamespace();
Elementet=null;
for(inti=0;i<jiedian.size();i++){
et=(Element)jiedian.get(i);//循环依次得到子元素
System.out.println(et.getChild("users_id",ns).getText());
System.out.println(et.getChild("users_address",ns).getText());
}
et=(Element)jiedian.get(0);
Listzjiedian=et.getChildren();
for(intj=0;j<zjiedian.size();j++){
Elementxet=(Element)zjiedian.get(j);
System.out.println(xet.getName());
}
}catch(JDOMExceptione){
//TODO自动生成catch块
e.printStackTrace();
}catch(IOExceptione){
//TODO自动生成catch块
e.printStackTrace();
}
returnnull;
}
publicstaticvoidmain(String[]args){
DuXMLDocdoc=newDuXMLDoc();
Stringxml="<?xmlversion=\"1.0\"encoding=\"gb2312\"?>"+
"<Resultxmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
"<rowresultcount=\"1\">"+
"<users_id>1001</users_id>"+
"<users_name>wangwei</users_name>"+
"<users_group>80</users_group>"+
"<users_address>1001号</users_address>"+
"</row>"+
"<rowresultcount=\"1\">"+
"<users_id>1002</users_id>"+
"<users_name>wangwei</users_name>"+
"<users_group>80</users_group>"+
"<users_address>1002号</users_address>"+
"</row>"+
"</Result>";
doc.xmlElements(xml);
}
}
以上这篇Java全面解析XML格式串(JDOM解析)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。