<?xml version="1.0" encoding="GB2312"?>
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' xmlns:rs='urn:schemas-microsoft-com:rowset' xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'>
<s:AttributeType name='WG00' rs:number='1' rs:writeunknown='true'>
<s:datatype dt:type='number' rs:dbtype='numeric' dt:maxLength='19' rs:scale='0' rs:precision='16' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='WGMJ' rs:number='2' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='WGMZ' rs:number='3' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='20'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row WG00='228' WGMJ='0' WGMZ=''  />
<z:row WG00='229' WGMJ='0' WGMZ=''  />
<z:row WG00='230' WGMJ='0' WGMZ=''  />
<z:row WG00='231' WGMJ='0' WGMZ=''  />
<z:row WG00='232' WGMJ='0' WGMZ=''  />
<z:row WG00='233' WGMJ='0' WGMZ=''  />
<z:row WG00='234' WGMJ='0' WGMZ=''  />
<z:row WG00='235' WGMJ='0' WGMZ=''  />
</rs:data>
</xml>
这样的xml怎么解析得到 wg00=228  wg=0、wgmz=  求高手指导

解决方案 »

  1.   

    Element dicts = (Element) doc.selectSingleNode("//z:row[@WG00='228']");
    System.out.println(dicts.attributeValue("WG00"));dom4j解析
      

  2.   

    这样只能去到一行的啊,不会是每取一行
    Element dicts = (Element) doc.selectSingleNode("//z:row[@WG00='228']");
    里面的//z:row[@WG00='228'都要换吧
      

  3.   

    有名字空间,这样的Xpath操作起来会比较复杂。如果XML结构稳固的话,建议用正则直接抽取你所要的信息就算了。
      

  4.   

    以为你就要定位这一行呢,那就selectNodes("//z:row");取到的是列表,然后随便操作