2016-10-10 9 views
1

XML:ABC::XYZJavaでVTD-XMLを使用してXML文書からのxmlns値の読み方

<Document xmlns="urn:abc:xyz"> 
<A> 
    <B> 
    </B> 
</A> 

はのxmlns i.e.urnの値を取得する必要があります。私はvtd-xmlの初心者です。以下には、

import com.ximpleware.*; 
public class queryNS { 
    public static void main(String[] args) throws VTDException { 
     // TODO Auto-generated method stub 
     VTDGen vg = new VTDGen(); 
     String xml = "<test xmlns='xyz'><a/></test>"; 
     byte[] ba = xml.getBytes(); 
     vg.setDoc(ba); 
     vg.parse(true); 
     VTDNav vn = vg.getNav(); 
     AutoPilot ap = new AutoPilot(vn); 
     ap.selectXPath("/test/namespace::node()"); 
     int i=0; 
     while((i=ap.evalXPath())!=-1){ 
      System.out.println(" value ===>"+vn.toString(i+1)); 
     } 
    } 

} 
+0

あなたのコードはどこにあります...ここで

String testData = context.getXmlFragment().toString().trim(); final VTDGen vg = new VTDGen(); vg.setDoc(testData.getBytes()); try { vg.parse(true); VTDNav vn = vg.getNav(); final AutoPilot apParty = new AutoPilot(vn); apParty.selectXPath("/Document"); int i = -1; while ((i = apParty.evalXPath()) != -1) { long l = vn.getContentFragment(); System.out.println(" -==> " + vn.toString((int) l, (int) (l >> 32))); } }catch (XPathEvalException e) { e.printStackTrace(); } 
f1sh

答えて

1

は、XPathで名前空間ノードのクエリを実行するコードがある..私はこれまでやっているのですか?
関連する問題