在Dom4j中使用xpath--查看xml数据代码
2009-02-14 16:11
387 查看
最近项目需要操作xml文件,虽然以前也研究过dom4j,但一者是因为时间太长了,因没写文档,有些忘记了,再者想再整理下,优化下dom4j的使用.所以就查了些资料,然后进行了些总结.(ps:因文档网上已经很多了,所以在这里主要是我现在正使用的代码)
主要实现功能:
从示例xml中根据pid查找对应的data数据
若xml数据改为:
则获取代码为:
主要实现功能:
从示例xml中根据pid查找对应的data数据
<root name="数据" title="客户数据"> <item> <date>2009-02-13</date> <pid>1001</pid> <data>9</data> </item> <item> <date>2009-02-13</date> <pid>1017</pid> <data>594</data> </item> </root>
/** * @author sech * * @version 1.0 */ public class XmlDom4J { private static final Log logger = LogFactory.getLog(XmlDom4J.class); private Document document; private List nodeList; private Node root; /** * */ public XmlDom4J(String inputXml) { try { SAXReader saxReader = new SAXReader(); document = saxReader.read(inputXml); root = document.selectSingleNode("//root"); //先将数据放入root,这样若多次取对应pid的数据, //不用每次都先访问xml了 } catch (DocumentException e) { logger.error(e.getMessage()); } catch (Exception e) { logger.error(e.getMessage()); } } /** * 取得对应pid的data */ private int getDataOfPid(String pid) { nodeList = root.selectNodes("//item[pid='" + pid + "']/data");//取pid的data数据 if (nodeList != null && nodeList.size() > 0) { Element e = (Element) nodeList.get(0); return Integer.parseInt(e.getTextTrim()); } return 0; } }
若xml数据改为:
<?xml version="1.0" encoding="gbk"?> <root name="数据" title="客户数据"> <item> <date>2009-02-13</date> <data pid="1001">9</data> </item> <item> <date>2009-02-13</date> <data pid="1017">594</data> </item> </root>
则获取代码为:
/** * 取得账号的data */ private int getDataOfPid2(String pid) { nodeList = root.selectNodes("//item/data[@pid='" + pid + "']");//若item还有属性, //则可以为"//item[@新属性='新属性值']/data[@pid='pid值']" if (nodeList != null && nodeList.size() > 0) { Element e = (Element) nodeList.get(0); return Integer.parseInt(e.getTextTrim()); } return 0; }
相关文章推荐
- 使用dom4j和XPath解析XML之例子一
- 在Dom4j中使用Xpath搜索xml的元素节点
- Dom4j使用Xpath语法读取xml节点 .
- 在java中使用dom4j解析xml(示例代码)
- [drp 4] 使用dom4j,读取XML数据,保存至数据库
- java中使用xPath读取xml中的数据
- 使用dom4j和XPath解析XML之例子一
- Dom4j使用Xpath语法读取xml节点 .
- 项目中使用XML方式去取数据插入数据代码
- java中使用Dom4j的xPath解析xml文件
- 在java中使用dom4j解析xml(示例代码)
- 基于webmagic的java网页爬虫,抓取网页指定节点,然后使用dom4j分析xml数据
- 使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页面
- javaweb学习总结十三(dom4j方式对XML文档进行解析以及Xpath的使用)
- dom4j 使用xpath 解析 persistence.xml 出现xmlns后不能解析问题解决
- 使用Xpath查询xml文档节点数据
- java使用xpath和dom4j解析xml
- java 在dom4j中,使用XPath处理XML(主要对命名空间的处理)
- dom4j解析XML时使用XPath直接定位至标签实例
- java使用dom4j和XPath解析XML与.net 操作XML小结