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 にそのようなノードがないため、null であるということだけです。

于 2013-09-17T08:21:04.590 に答える