Java XPath工作不正常

Java XPath工作不正常,java,xpath,Java,Xpath,下面是使用XPath从XML元素获取数据的Java代码。第一次在title中计算表达式时,它会正常工作。但是下一次,在成本中,每当我显示成本的值时,它只是“无法获取成本”。尝试执行多个XPath表达式时是否遗漏了什么 XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); XPathExpression exp; InputSource inputSource = new Input

下面是使用XPath从XML元素获取数据的Java代码。第一次在
title
中计算表达式时,它会正常工作。但是下一次,在
成本
中,每当我显示
成本
的值时,它只是“无法获取成本”。尝试执行多个XPath表达式时是否遗漏了什么

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression exp;
InputSource inputSource = new InputSource(new StringReader(woot_xml));
title = "Could not get title";
cost = "Could not get cost";
try {
    exp = xpath.compile("/rss/channel/item/title");
    title = exp.evaluate(inputSource);
    exp = xpath.compile("/rss/channel/item/pubDate");
    cost = exp.evaluate(inputSource);
} catch (XPathExpressionException e) {
    // Do nothing for now
}

这就是我要讨论的XML:

异常表示您正在吞咽的内容是什么?我想这个异常消息会给你一些启发。

那么,XML看起来怎么样?试过了吗?://rss/channel/item/title和//rss/channel/item/pubDate(开始时是双引号)我用XML更新了我的问题。我尝试了//但不起作用。“org.xml.sax.SAXParseException:Unexpected end of document”就是我通过
e.printMessage()
得到的异常消息。这是因为
InputSource
只能读取一次。。。现在它被消耗掉了。哦,我不知道。那么,从tat执行多个XPath读取的好方法是什么呢?将其加载到文档中。。。例如,看看
DocumentBuilderFactory
DocumentBuilder
Document
类。下面是一个解释得很好的示例: