在java中使用vtd-xml获取xml中属性的文本

发布于 2024-11-07 20:00:24 字数 751 浏览 0 评论 0原文

给定以下 xml:

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

我将 vtd-xml 与 XPath 一起使用,以便检索“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 还是我必须自己执行此操作?

问候

Given the following xml:

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

I am using vtd-xml with XPath in order to retrieve 'textGoal' as follows:

        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);
        }

This gives myString as 'q' and not 'textGoal'. I have two questions:

  1. What am I doing wrong?
  2. I know that 'textGoal' is URL-escaped. Does vtd-xml do URL-UNescape or do I have to do this myself?

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

山色无中 2024-11-14 20:00:24

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

Use vn.getAttributeVal(vn.toString(node))

忆伤 2024-11-14 20:00:24

另一种方法是

vn.toString(node+1) 

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

Another way of doing it is

vn.toString(node+1) 

assuming node is not -1. As to the URL escaping, part, you have toString(), toRawString(), and toNormalizedString() to choose from

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文