0

我能够使用 XPath 成功地从 XML 文档中获取值,现在对于 XML 结构中不存在实际路径的负面场景,例如path = /Data/XEDA/PrimaryKey,返回 null。我在想它会回来XMLParseException的。请赐教。提前致谢

        XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();

    XPathExpression expr = xpath.compile(path);
    Object result = expr.evaluate(doc);
    System.out.println(result);

XML

<?xml version="1.0" encoding="UTF-8"?>
<Data BatchOrOnline="O" TotalRec="1">
<ZETA>
    <PrimaryKey>1</PrimaryKey>
    <Co>
        <ForeignKey>3</ForeignKey>
        <tblValuId>CP</tblValuId>
        <tblDescTxt>Test</tblDescTxt>
    </Co>
</ZETA>

4

1 回答 1

0

除非您的 xpath 实际上是错误的,否则您不会得到 Xpath 异常。在您的情况下,您的 Xpath 表达式“/Data/XEDA/PrimaryKey”是有效的。它返回的只是 xml 中没有这样的节点,因此为空。

于 2013-09-17T08:21:04.590 回答