【发布时间】:2017-12-01 10:48:38
【问题描述】:
我有一个很大的 xml:
<SomeRequest>
<Reservation>
...
</Reservation>
<Payment>
<cardNumber>....</cardNumber>
</Payment>
</SomeRequest>
现在我想从此 xml 中获取 cardNumber 值。它是字符串,我无法将其解析为 xml Document,因为它需要太多时间。
所以,我有这个string,我在上面使用XPath,如下所示:
String field = "/SomeRequest/Payment/cardNumber/text()";
XPathExpression compile = XPATH_FACTORY.newXPath().compile(field);
String value = compile.evaluate(new InputSource(new StringReader(request))); //request is xml string
但是在这样做之后,value 是空的。我试图在 xml Document 上做它(解析它)然后它工作了。但现在我想在简单的String 上做这件事。
我不想在这个字符串上使用正则表达式,因为它会带来很多问题。
如何使用 XPath 获得这个 cardNumber 值?
【问题讨论】: