org.w3c.dom.Element root = doc.getDocumentElement();
NodeList contents = root.getChildNodes();
int contentNum = 0;
for (int i = 0; i < contents.getLength(); i++) {
org.w3c.dom.Node content = contents.item(i);
log.debug("node name="+content.getNodeName());
if(content.getNodeName().equals("item")){
contentNum++;
}
}
这样的方法拿不到<item>的个数,请问该如何拿?

解决方案 »

  1.   

    <?xml version="1.0" encoding="gb2312" ?> 
    - <contents>
    - <!-- contents to be synchronized to content server
      --> 
    - <content>
      <operation>1</operation> 
    - <content-info>
      <content-id>234361</content-id> 
      <name_cn>video1</name_cn> 
      <name_en>s2333333d</name_en> 
      <description_cn>sd</description_cn> 
      <description_en>sd</description_en> 
      <keywords /> 
      <sp_id_tag>2</sp_id_tag> 
      <sp-id>02000002</sp-id> 
      <ref-price-type>1</ref-price-type> 
      <ref-price>3</ref-price> 
      <purpose>1</purpose> 
      <source-url>/home/cms/vs_upload/006.3gp;/home/cms/vs_upload/007.3gp</source-url> 
      <content-type>06</content-type> 
      <original-source>sd</original-source> 
      <copyright_owner_cn>sd</copyright_owner_cn> 
      <copyright_owner_en /> 
      <media-source /> 
      <submit-date>20070308111945</submit-date> 
      <approved-date>20070308112017</approved-date> 
      <effective-date>20070308000000</effective-date> 
      <expiry-date>20070409000000</expiry-date> 
      <previewinfo /> 
      <needpack /> 
      <needprepack>0</needprepack> 
      <packtype>0</packtype> 
      <copyright_send>1</copyright_send> 
      </content-info>
    - <item>
    - <item-info>
      <item-id>112220</item-id> 
      <mime-type /> 
      <content-size>3436</content-size> 
      <sp-internal-id /> 
      <reloadFlag>0</reloadFlag> 
      <content-url>ftp://192.168.231.44/home/cms/work/xml_dir/02000001/006.3gp</content-url> 
      </item-info>
    - <video-property>
      <duration>3</duration> 
      <bit-rate>6</bit-rate> 
      <number-of-frames>6</number-of-frames> 
      <frame-height>6</frame-height> 
      <frame-weight>6</frame-weight> 
      <aspect_ratio>66</aspect_ratio> 
      <frame_rate>1</frame_rate> 
      <brightness>3</brightness> 
      <contrast>4</contrast> 
      <video_codec>2</video_codec> 
      <use_type>1</use_type> 
      <se-encode>false</se-encode> 
      <se-output-format>2</se-output-format> 
      </video-property>
      </item>
    - <item>
    - <item-info>
      <item-id>78911</item-id> 
      <mime-type /> 
      <content-size>0</content-size> 
      <sp-internal-id /> 
      <reloadFlag>0</reloadFlag> 
      <content-url>ftp://192.168.231.44/home/cms/work/xml_dir/02000001/007.3gp</content-url> 
      </item-info>
    - <video-property>
      <duration>3</duration> 
      <bit-rate>6</bit-rate> 
      <number-of-frames>6</number-of-frames> 
      <frame-height>6</frame-height> 
      <frame-weight>6</frame-weight> 
      <aspect_ratio>66</aspect_ratio> 
      <frame_rate>1</frame_rate> 
      <brightness>3</brightness> 
      <contrast>4</contrast> 
      <video_codec>2</video_codec> 
      <use_type>1</use_type> 
      <se-encode>false</se-encode> 
      <se-output-format>2</se-output-format> 
      </video-property>
      </item>
      </content>
      </contents>
      

  2.   

    没用过这个
    不过我用dom4j都是一个个遍历的,怕是要被人笑死了~
      

  3.   

    :)
    dom4j:
    List ss = rootElement.elements();
    System.out.println(ss.size());不过这么出来的是根节点下的节点数,你这里就要走到<content>节点挨个求了:(