0

以下で説明するように、このようなxmlがあります。次の式を使用して Cardnumber の値を取得しようとしています。

XPATH :

paymentService/ns0:submit/ns0:order/ns0:paymentDetails/ns0:VISA-SSL/cardNumber

しかし、それは私にエラーを与えています。これについて私を案内してもらえますか?

<?xml version="1.0" encoding="UTF-8"?>
<paymentService version="1.0">
    <ns0:submit xmlns:ns0="http://www.tibco.com/ns/no_namespace_schema_location/Payment/PaymentProcessors/WorldPay_CC/SharedResources/Schemas/paymentService_v1.dtd">
        <ns0:order>
            <description>description</description>
            <amount value="500" currencyCode="EUR" exponent="2"/>
            <ns0:paymentDetails>
                <ns0:VISA-SSL>
                    <cardNumber>00009875083428500</cardNumber>
                    <expiryDate>
                        <date month="02" year="2008"/>
                    </expiryDate>
                    <cardHolderName>test</cardHolderName>
                </ns0:VISA-SSL>
                <session shopperIPAddress="192.165.22.35" id=""/>
            </ns0:paymentDetails>
            <shopper>
                <browser>
                    <acceptHeader>text/html</acceptHeader>
                    <userAgentHeader>mozilla 5.0</userAgentHeader>
                </browser>
            </shopper>
        </ns0:order>
    </ns0:submit>
</paymentService>

ありがとう

4

3 に答える 3

0

XPath を評価する前に、名前空間を登録する必要があります。

$xml->registerXPathNamespace('ns0', 'http://www.tibco.com/ns/no_namespace_schema_location/Payment/PaymentProcessors/WorldPay_CC/SharedResources/Schemas/paymentService_v1.dtd');

where$xmlSimpleXMLElementXML を含む変数です。

XPath は、/Passerby の回答に従って開始する必要があります。

/paymentService/ns0:submit/ns0:order/ns0:paymentDetails/ns0:VISA-SSL/cardNumber
于 2013-04-25T13:34:48.310 に答える
0

問題はノート

<paymentService version="1.0">

これは終了していないので、コメントするか、適切に終了する必要があります。このXPATHで試してみるとコメントする場合

/ns0:submit/ns0:order/ns0:paymentDetails/ns0:VISA-SSL/cardNumber
于 2013-04-25T11:28:13.390 に答える