gpt4 book ai didi

java - VTD XML 查找幽灵/不存在路径时出错

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:13 25 4
gpt4 key购买 nike

我有一个 XML block ,如下所示,其中包含 3 个 AttachmentBinary 元素(尽管为了可读性而被截断):

  <MyRequest>
<MojNumber>219</MojNumber>
<AttachmentBinary fileExtension="image/jpeg">/9j/4UK8RXhpZgAASUkqAAgAAAAMAAABBAABAAAAAAoAAAEBBAABAAAAAAABABAgAJAAAApgAAABIBAwABAAAAAQAAABoBBQABAAAAsAAAABsBBQABAAAgAAADEBAgAOAAAAwAAAADIBAgAUAAAAzgAAABMCAwABAAAAAQAAAGmHBA</AttachmentBinary>
<AttachmentBinary fileExtension="image/jpeg">/9j/4UE1RXhpZgAASUkqAAgAAAAMAAABBAABAAAAAAoAAAEBBAABAAAAAA5QCMg7udvGabszG8hX5M5JZhk/SrFvuV0Q7dmx87s4c8LUlwrRqrKWyBl</AttachmentBinary>
<AttachmentBinary fileExtension="image/jpeg">/9j/4SfRRXhpZgAASUkqAAgAAAAMAAABBAABAAAAAAoAAAEBBAABAAAAAASTwcU+GZSThd3y4J6GpAm8ysxDmQALk71A9hVKTvcznHS5gSh2LSgkEgyG</AttachmentBinary>
</MyRequest>

我的VTD-XML Java代码首先提取文件扩展名和主要Base64编码的jpg如下:

try {
ap.selectXPath("/MyRequest/AttachmentBinary/text()");
} catch (XPathParseException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}

int i = 0;

while ((i = ap.evalXPath()) != -1) {
// i points to text node of
String ext = vn.toString(vn.getAttrVal("fileExtension"));
System.out.println("ext is:"+ ext);

String s = vn.toRawString(i);
}

然而,我得到了 6 次点击,而不是 3 次。其中只有 3 个产生可见图像。

最佳答案

你的xpath要求一个没有属性节点的文本节点...所以你应该使用/MyRequest/AttachmentBinary,即没有text()...然后ext就可以了...

但要获取 text(),您需要调用 getText() 并确保它不是 -1。

关于java - VTD XML 查找幽灵/不存在路径时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com