0

我正在尝试从 Nashorn Javascript 数组中的 xml 文件中读取 xpath 表达式的多个匹配值。我在 Nashorn 中使用 javax.xml.xpath 类来解析 xml 数据。当我将 XPathConstants.STRING 传递给评估函数时,我能够很好地读取第一个匹配值。

alist = xpath.evaluate(exp, input, XPathConstants.NODESET); 
System.out.println(alist.item[0].getNodeValue());

它抛出这个错误 -javax.script.ScriptException: TypeError: Cannot read property "getNodeValue" from undefined in <eval>

任何想法为什么列表将包含所有空值元素?

4

1 回答 1

0

问题似乎与item[0]行内的使用有关

System.out.println(alist.item[0].getNodeValue());

alist似乎是一个NodeList,这个接口包含两个方法,getLength()item(int index). 如果要获取列表中的第一项,则需要item使用 using 调用该方法,而不是像使用数组一样item(0)尝试使用item[0]to 访问:item

System.out.println(alist.item(0).getNodeValue());
于 2020-10-25T20:48:46.320 回答