日期:2014-05-17  浏览次数:20804 次

使用dom4j迭代读取XML
xml文件如下:
XML code


<out-file>
  <row>
    <field name="goods-id">110204</field>
    <field name="amount">3</field>
    <field name="total-sum">0</field>
  </row>
  <row>
    <field name="goods-id">110242</field>
    <field name="amount">10</field>
    <field name="total-sum">0</field>
  </row>
  <row>
    <field name="goods-id">110271</field>
    <field name="amount">10</field>
    <field name="total-sum">0</field>
  </row>
  <row>
    <field name="goods-id">208005</field>
    <field name="amount">39</field>
    <field name="total-sum">0</field>
  </row>
</out-file>



定义了一个现成的类保存单个的<row>
public class IOFileRecord {
/**
* 商品编码
*/
private String goodsID;

/**
* 总数量
*/
private String amount;

/**
* 总金额
*/
private String totalSum;
……
}

如何用dom4j将XML中的每<row>(行)读到一个IOFileRecord对象中?

------解决方案--------------------
http://wenku.baidu.com/view/401b45ef0975f46527d3e197.html

http://www.cnblogs.com/hoojo/archive/2011/08/12/2135743.html

http://skyeywolf.blog.163.com/blog/static/95727236200962055352225/
------解决方案--------------------
太容易了 得到所有的 ROW的集合 然后 在每个ROW里 循环找到 3个 FIELD 得到后
整成这个实体类 把这些实体类 加入到 这个实体类的集合里去就好啦。

DOM4J 很强大的 

这个XML 最好还是优化一下 如

Java code

<out-file>
  <row>
    <goods-id>110204</field>
    <amount>3</field>
    <total-sum>0</field>
  </row>
  
......

</out-file>

------解决方案--------------------
XML创建的格式不太好啊,取数据很麻烦,最好用下面格式,代码好写


<row>
<goods-id>110204</goods-id>
<amount>3</amount>
<total-sum>0</total-sum>
</row>