java xml 框架 dom4j 解析 xml 字符串
2016-02-02 02:59
633 查看
dom4j 是 java 下最常用的 xml 解析框架之一,其他还有 jdom、dom 都属于优秀的 xml 框架,这里就以 dom4j 为例,示范 xml 字符串的解析
这是代码中 XML 的结构,metaData 内有一个 array 结构,需要循环读取
代码演示
通过 dom4j 的解析,xml字符串显示结果如下:
20160202014140_208_59400.jpg
9737853a-3cb8-48d5-a735-a75c3e8fa721
user\Obama\20160202014140_208_59400.jpg
2016-02-02 01:41:32
1
96
Width (px): 1600
Height (px): 1200
Resolution: 96
dom4j 的下载地址:http://sourceforge.net/projects/dom4j/
Q群讨论 236201801
.
这是代码中 XML 的结构,metaData 内有一个 array 结构,需要循环读取
<?xml version="1.0"?> <item name="\"20160202014140_208_59400.jpg\"" id="\"9737853a-3cb8-48d5-a735-a75c3e8fa721\"" relativePath="\"user\\Obama\\20160202014140_208_59400.jpg\""> <fileInfo fileIndexed="\"2016-02-02" numPages="\"1\"" resolution="\"96\"" width="\"1600\"" height="\"1200\"" fileSize="\"202.42"> <metaData> <item name="\"Width" value="\"1600\"" /> <item name="\"Height" value="\"1200\"" /> <item name="\"Resolution\"" value="\"96\"" /> </metaData> <boxes /> </fileInfo> </item>
代码演示
package dom4j; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.io.SAXReader; import org.dom4j.jaxb.JAXBReader; import org.dom4j.Element; import java.awt.Component; import java.util.Iterator; import java.util.List; public class Test01 { public static void main(String[] args) { // xml 示範字符串 String xml = "<item name=\"20160202014140_208_59400.jpg\" id=\"9737853a-3cb8-48d5-a735-a75c3e8fa721\" relativePath=\"user\\Obama\\20160202014140_208_59400.jpg\"><fileInfo fileIndexed=\"2016-02-02 01:41:32\" numPages=\"1\" resolution=\"96\" width=\"1600\" height=\"1200\" fileSize=\"202.42 Kb\"><metaData><item name=\"Width (px)\" value=\"1600\" /><item name=\"Height (px)\" value=\"1200\" /><item name=\"Resolution\" value=\"96\" /></metaData><boxes /></fileInfo></item>"; try { // 載入 xml Document doc = DocumentHelper.parseText(xml); // 置 root Element element = doc.getRootElement(); // node by root String name = element.attributeValue("name"); String id = element.attributeValue("id"); String relativePath = element.attributeValue("relativePath"); System.out.println(name); System.out.println(id); System.out.println(relativePath); // node by /item/fileInfo element = element.element("fileInfo"); String fileIndexed = element.attributeValue("fileIndexed"); String numPages = element.attributeValue("numPages"); String resolution = element.attributeValue("resolution"); System.out.println(fileIndexed); System.out.println(numPages); System.out.println(resolution); // node by /item/fileInfo/metaData element = doc.getRootElement(); element = element.element("fileInfo"); element = element.element("metaData"); Iterator it = element.elementIterator(); // 遍歷 metaData 内的 item 并打印 while (it.hasNext()) { // 取得 item Element item = (Element) it.next(); String n = item.attributeValue("name"); String v = item.attributeValue("value"); System.out.print(n); System.out.print(": "); System.out.println(v); } } catch (DocumentException e) { e.printStackTrace(); } } }
通过 dom4j 的解析,xml字符串显示结果如下:
20160202014140_208_59400.jpg
9737853a-3cb8-48d5-a735-a75c3e8fa721
user\Obama\20160202014140_208_59400.jpg
2016-02-02 01:41:32
1
96
Width (px): 1600
Height (px): 1200
Resolution: 96
dom4j 的下载地址:http://sourceforge.net/projects/dom4j/
Q群讨论 236201801
.
相关文章推荐
- 传智播客168期JavaEE就业班(第四天 dom)
- JAVA_安装JDK和Eclipse
- 使用Maven在Eclipse搭建Web项目 有项目实例 绝对好用
- JAVA中List、Map、Set的区别与选用
- 搭建SSH三大框架WEB项目过程(Struts2.3+Hibernate4.3+Spring4.1)
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
- java.lang.*不用我们导入,编译器会自动给我们导入的,,,这个包是默认导入的。
- 可视化java jvm
- Java 实现动态代理实现AOP
- 我被Java包装类教育了(Long和Integer)
- java 的类和接口的变量调用
- JAVA calender 的使用实现查询一个月的第1天和最后一天,学的是技巧。
- javaweb实现记住密码功能
- javaWeb服务器端开发事项
- 详谈javaWeb分页的实现(模拟百度分页)
- Java多线程编程
- Eclipse 运行Java项目JRE VM配置
- Spring MVC返回中文乱码
- JAVA-异常处理
- Java初学笔记