如何在java中使用vtd xml从xml文档中读取xmlns值

如何在java中使用vtd xml从xml文档中读取xmlns值,java,xml,vtd-xml,Java,Xml,Vtd Xml,XML: 下面是在XPath中进行名称空间节点查询的代码 String testData = context.getXmlFragment().toString().trim(); final VTDGen vg = new VTDGen(); vg.setDoc(testData.getBytes()); try { vg.parse(true); VTDNav vn = vg.getNav()

XML:


下面是在XPath中进行名称空间节点查询的代码

 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();
        } 
导入com.ximpleware.*;
公共类查询{
公共静态void main(字符串[]args)引发VTDException{
//TODO自动生成的方法存根
VTDGen vg=新VTDGen();
字符串xml=”“;
字节[]ba=xml.getBytes();
vg.setDoc(ba);
解析(true);
VTDNav vn=vg.getNav();
自动驾驶仪ap=新自动驾驶仪(vn);
选择XPath(“/test/namespace::node()”;
int i=0;
而((i=ap.evalXPath())!=-1){
System.out.println(“value===>”+vn.toString(i+1));
}
}
}

您的代码在哪里?
 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();
        } 
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));
        }
    }

}