vtd-xml evalXPathToString 奇怪 behavoir/not 工作
vtd-xml evalXPathToString strange behavoir/not working
在下面的第二个例子中,为什么 evalXPathToString
打印 junk1.45
而不是 1.45
?
我正在使用 2.12 版的 vtd-xml。
String xml = "<xmlDoc><noele>junk</noele><valss>1.45</valss></xmlDoc>";
VTDGen vtdGen = new VTDGen();
vtdGen.setDoc(xml.getBytes(StandardCharsets.UTF_8));
vtdGen.parse(true);
VTDNav vtdNav = vtdGen.getNav();
AutoPilot autoPilot = new AutoPilot(vtdNav);
autoPilot.selectXPath("/xmlDoc/valss");
System.out.println(autoPilot.evalXPathToNumber()); // prints 1.45
autoPilot = new AutoPilot(vtdNav);
autoPilot.selectXPath("/xmlDoc/valss");
System.out.println(autoPilot.evalXPathToString()); // prints junk1.45
我已经在最新的版本上试过了...return 1.45...
这似乎是 2.12 中引入的错误之一,随后被报告并修复。引入它的原因是因为 2.12 旨在完全支持混合内容类型的 XPath 评估...也就是说,如果您将 xpath "/xmlDoc" 评估为字符串,它 returns junk1 .45..
此外,此错误仅涉及 evalXPathToString...与其他三种评估方法无关...我相信 /xmlDoc/valss/text() 将是一种解决方法...
如果不想等到2.13正式发布才修正这个issue..你可以下载文件并按照以下步骤自己构建一个jar...
获取补丁...转到 vtd-xml 的 cvs 主机站点...
http://vtd-xml.cvs.sourceforge.net/viewvc/vtd-xml/ximple-dev/com/ximpleware/LocationPathExpr.java
将文件拖放到 com.ximpleware
下
运行 windows 上的 build.bat... 或您的 unix 机器上的任何等效项
获取新的 jar 文件并替换类路径中的旧 2.12 jar...
让我知道它是否适合你...
在下面的第二个例子中,为什么 evalXPathToString
打印 junk1.45
而不是 1.45
?
我正在使用 2.12 版的 vtd-xml。
String xml = "<xmlDoc><noele>junk</noele><valss>1.45</valss></xmlDoc>";
VTDGen vtdGen = new VTDGen();
vtdGen.setDoc(xml.getBytes(StandardCharsets.UTF_8));
vtdGen.parse(true);
VTDNav vtdNav = vtdGen.getNav();
AutoPilot autoPilot = new AutoPilot(vtdNav);
autoPilot.selectXPath("/xmlDoc/valss");
System.out.println(autoPilot.evalXPathToNumber()); // prints 1.45
autoPilot = new AutoPilot(vtdNav);
autoPilot.selectXPath("/xmlDoc/valss");
System.out.println(autoPilot.evalXPathToString()); // prints junk1.45
我已经在最新的版本上试过了...return 1.45...
这似乎是 2.12 中引入的错误之一,随后被报告并修复。引入它的原因是因为 2.12 旨在完全支持混合内容类型的 XPath 评估...也就是说,如果您将 xpath "/xmlDoc" 评估为字符串,它 returns junk1 .45..
此外,此错误仅涉及 evalXPathToString...与其他三种评估方法无关...我相信 /xmlDoc/valss/text() 将是一种解决方法...
如果不想等到2.13正式发布才修正这个issue..你可以下载文件并按照以下步骤自己构建一个jar...
获取补丁...转到 vtd-xml 的 cvs 主机站点... http://vtd-xml.cvs.sourceforge.net/viewvc/vtd-xml/ximple-dev/com/ximpleware/LocationPathExpr.java
将文件拖放到 com.ximpleware
下
运行 windows 上的 build.bat... 或您的 unix 机器上的任何等效项
获取新的 jar 文件并替换类路径中的旧 2.12 jar...
让我知道它是否适合你...