本文实例讲述了java基于dom4j包实现对XML解析的方法。分享给大家供大家参考,具体如下:
本例中的xml文件内容如下:
<?xml version = "1.0" encoding="UTF-8"?> <!-- Copyright 难免有错 这是注释--> <自定义的> <!-- iloveyou --> <你喜欢的名字就好> <who a = "i"></who> <dowhat b = "love"></dowhat> <whom c = "you"></whom> </你喜欢的名字就好> <!-- youhateme --> <好吧> <who a = "you"></who> <dowhat b = "hate"></dowhat> <whom c = "me"></whom> </好吧> </自定义的>
Java解析XML代码如下:
package xmlreadtest; import java.io.File; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Xmlreadtest { public static void main(String[] args) throws DocumentException { //创建一个readxml对象的实例 Readxml re = new Readxml(); //调用readexmldata方法 re.readxmldata("你喜欢的名字就好"); re.readxmldata("好吧"); } } /** * 2015年8月31日 * @author 难免有错 * */ class Readxml { //参数为xml文件的子元素 如本例中test.xml文件的的"你喜欢的名字就好" public void readxmldata(String str) throws DocumentException { //创建SAXReader对象 SAXReader reader = new SAXReader(); org.dom4j.Document dcfile = reader.read(new File("test.xml")); //获得xml文件的root节点 Element root = dcfile.getRootElement(); //获取名字为指定名称子元素 Element e_interface = root.element(str);//传入参数 String ewho = (String) e_interface.element("who").attribute(0).getData(); String edo = (String) e_interface.element("dowhat").attribute(0).getData(); String ewhom = (String) e_interface.element("whom").attribute(0).getData(); System.out.println(ewho+edo+ewhom); } }
程序运行结果:
iloveyou youhateme
注:本例只是个简单的RAX方式解析
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。