我正在尝试从节点读取包含时间戳的属性的值。 我的xml看起来像这样
<doc>
<str name="request_code">\</str>
<str name="id">3226</str>
<str name="request_name">John Doe</str>
<str name="type">Requests</str>
<str name="content_txt">...</str>
<str name="id">...</str>
<date name="lastModified_dt">1970-01-01T00:00:00Z</date>
</doc>
除了使用时间戳之外,我能够获得所有属性的值 以下表达式,
.//str[@name='content_txt']
然而,当我尝试使用表达式
获取时间戳的值时.//date[@name='lastModified_dt']
它总是返回空。
这是我的实施
private Date getDateValue(Node responseNodeUrl, String attribute) throws SearchException {
try {
Node evalNode = null;
evalNode = responseNodeUrl;
XPath xPath = XPathFactory.newInstance().newXPath();
XPathExpression expr;
expr = xPath.compile(".//date[@name='"+attribute+"']");
Object result ;
result= expr.evaluate(evalNode);
xPath.reset();
System.out.println(result);
return result;
} catch (XPathExpressionException e) {
log.error("Error in SearchEngine:getAttributeValue:: "+e.getMessage());
throw new SearchException(e);
}
}
非常感谢任何帮助。