import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class DuXMLDoc {
public List xmlElements(String xmlDoc) {
//创建一个新的字符串
StringReader read = new StringReader(xmlDoc);
//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
try {
//通过输入源构造一个Document
Document doc = sb.build(source);
//取的根元素
Element root = doc.getRootElement();
System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
List jiedian = root.getChildren();
//获得XML中的命名空间(XML中未定义可不写)
Namespace ns = root.getNamespace();
Element et = null;
for(int i=0;i<jiedian.size();i++){
et = (Element) jiedian.get(i);//循环依次得到子元素
/**//*
* 无命名空间定义时
* et.getChild("users_id").getText();
* et.getChild("users_address",ns).getText()
*/
System.out.println(et.getChild("users_id",ns).getText());
System.out.println(et.getChild("users_address",ns).getText());
}
/**//*
* 如要取<row>下的子元素的名称
*/
et = (Element) jiedian.get(0);
List zjiedian = et.getChildren();
for(int j=0;j<zjiedian.size();j++){
Element xet = (Element) zjiedian.get(j);
System.out.println(xet.getName());
}
} catch (JDOMException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}
public static void main(String[] args){
DuXMLDoc doc = new DuXMLDoc();
String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
"<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+
"<row resultcount=\"1\">"+
"<users_id>1001 </users_id>"+
"<users_name>wangwei </users_name>"+
"<users_group>80 </users_group>"+
"<users_address>1001号 </users_address>"+
"</row>"+
"<row resultcount=\"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);
}
}
分享到:
相关推荐
NULL 博文链接:https://zhtzyh.iteye.com/blog/2066855
使用JDK1.6自带的方法解析XML特定格式的字符串,将压缩包中的两个java类解压到同一个目录内,导入eclipse更改包路径,直接运行test.java即可。
5、bean里面的属性如何仍然是bean,则可以递归解析拼装。 使用举例: 1、根据类生成XML配置文件模板 String beanClass2xml = XbeanUtil.beanClass2xml(Bean.class, null); 2、根据XML文件生成BEAN String xml=get...
主要介绍了Java生成和解析XML格式文件和字符串的实例代码,需要的朋友可以参考下
java 反射机制 字符串 对象 将java对象的数据封装成为xml格式的字符串,或将字符串解析为java的对象形式
当前项目包含一套生成指定格式的xml 字符串内容,以及根据返回的字符串生成指定格式的map格式的内容;
java一键xml转map,一键map转xml工具类,代码已封装好,一个方法即可将两种格式文本互转,注意是互转,网上很多只有xml转map,并不支持map转xml
前段实现mxgraph插件绘制流程图,后台实现保存的xml导出成图片格式,遇到图标没有引用,文字label位置不正确,label换行不识别 标签,linux服务器部署中文字体等问题
XML解析封装工具类 将XML格式的字符串解析成JAVA对象,方便读取XML内容; 将java对象封装成XML格式
包括解析xml文档方法,使用方法的数据包,xml文档格式的介绍,java与xml的绑定等
XML 元素中,"和 "&" 是非法的。"会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释...[CDATA[文本内容]]>CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
XML 解析是将 XML 数据从其序列化字符串格式转换为分层格式的过程。
使用 dom4j 将 XML 文档解析为我自己的格式 格式: 私人字符串名称; 私有字符串值; 私人列表 childList; private Map<String> propMap = new HashMap(); 意义 将 XML 文档对象转换成这个格式对象(XmlElement...
该库能像JAVA一样是写快速解析或者生成json、xml格式字符串,使用该库来解析能大大降低代码的复杂度,使程序简洁,不容易出错。
java使用fastjson解析json字符串,附fastjson包,后台接口需输出json格式字符串,非xml格式
本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。
% _ [abc1-9]格式字符串 * * @param format * 格式字符串 如:邮箱:%@%_ * @param value * 被判断的值 yiyongpeng@tom.com * @return 是否匹配 */ public boolean like(String format, String value){} ...
比如:在WebService有时需要传送JAVA对象,当定义相应的WSDL文件却较为麻烦,通过JOX可以将JAVA先传化为XML,再以字符串形式将XML格式的数据传输过去。 下载jox最新jar包:...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
java-xml-lib XML是计算机之间最常用的数据交换格式之一。 它基于这样一种思想,即每个数据都可以细分为几个组件,并且每个这样的数据都可以具有一组相... 解析 xml 文件或字符串Xml xml = new Xml(new File("studen