只从xml里读取数据,用什么模块比较好?

只从xml里读取数据,用什么模块比较好?

之前一直用xml::simple,但感觉不方便。需要清楚输出格式才好些,而且一条数据和多条的时候,hash就不能通用了。要用数组,但数组写写来很拖沓。请问有什么好的模块?我仅仅只是读取,不做别的
为了方便的话 XML::Simple最好了.  还没发现比它更方便的呢.
最简单的就是XML::Simple了。看看XML::Simple的文档,它有许多选项可以控制输出格式,
应该能满足你的需要。

不到万不得已尽量别用XML:: DOM,很累很累

但是xml::simple离所见即所得还有一段距离,array引用和hash引用不好区分。很多时候需要用data::dumper打出来看看,数据个数不规则的时候就要用数组,但写起来很长。。。这个缺点我一直不喜欢。。
哥们,看文档去

ForceArray => 1 # in - important

This option should be set to '1' to force nested elements to be represented as arrays even when there is only one. Eg, with ForceArray enabled, this XML:

    <opt>
      <name>value</name>
    </opt>

would parse to this:

    {
      'name' => [
                  'value'
                ]
    }

instead of this (the default):

    {
      'name' => 'value'
    }
是的。我经常用这个。ForceArray => 1,数组写起来比较长。。。例如我的一个程序片段:$article->{'description'}->[0]->{'hltext_display'}[0]
数组的坏处就是:哪怕只有一条数据,也要加下标[0],感觉不爽。呵呵:)
既然这样应该就没有问题了啊。
ForceArray之后返回的结果就很整齐了,不会出现数组和散列混用的情况。
的确访问时的表达式比较长,不过比起解析DOM树,还是要简单得很多很多。

如果可能的话,可以尝试不使用XML,用其他格式来代替。
网络传输的话用JSON,配置文件的话用YAML,
这两种格式都能方便地转换成Perl中的数据结构,比XML要好得多。
看来是没有更好的方法了,多谢。。那我就还用这个吧。