4

给定以下xml:

<JUT>
    <DDT>
        <SSG q="textGoal">Lorem ipsum...</SSG>
    </DDT>
    ....
    ...
</JUT>

我正在使用带有 XPath 的 vtd-xml 来检索“textGoal”,如下所示:

        VTDGen vg = new VTDGen();
        vg.setDoc(xmlContent);
        vg.parse(false);
        VTDNav vn = vg.getNav();
        AutoPilot ap = new AutoPilot(vn);
        int node = 0;

        ap.selectXPath("//SSG[1]/@q");
        node = ap.evalXPath();
        if(node != -1) {
            myString = vn.toString(node);
        }

这将 myString 设为 'q' 而不是 'textGoal'。我有两个问题:

  1. 我究竟做错了什么?
  2. 我知道“textGoal”是 URL 转义的。vtd-xml 是做 URL-UNescape 还是我必须自己做?

问候

4

2 回答 2

5

采用vn.getAttributeVal(vn.toString(node))

于 2011-05-14T01:53:04.147 回答
3

另一种方法是

vn.toString(node+1) 

假设节点不是-1。至于 URL 转义,部分,你有toString(), toRawString(), 和toNormalizedString()可供选择

于 2011-05-21T19:08:35.207 回答