1

私は次の文字列を持っています:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/UKash/Service1"><UKashTransaction><txCode>99</txCode><txDescription>Failed</txDescription><settleAmount> <settleAmount><transactionId>1341481253EDFC871620</transactionId><changeIssueVoucherNumber> <changeIssueVoucherNumber><changeIssueVoucherCurr> <changeIssueVoucherCurr><changeIssueAmount> <changeIssueAmount><changeIssueExpiryDate> <changeIssueExpiryDate><ukashTransactionId> <ukashTransactionId><currencyConversion> <currencyConversion><errCode>219</errCode><errDescription>Invalid Voucher Number</errDescription> <UKashTransaction></string></xml>

そして、txDescritionなど、その文字列のいくつかの属性を取得したいので、さまざまなバリエーションを試しましたが、結果を取得できません。私はphpを使用しています。誰かが助けてくれるなら、私はブロックされているので本当に感謝します。

アップデート:

問題は、文字列を有効にフォーマットしないため、curlを使用することです。これは、ゲートウェイから取得するものです。

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/UKash/Service1">&lt;UKashTransaction&gt;&lt;txCode&gt;99&lt;/txCode&gt;&lt;txDescription&gt;Failed&lt;/txDescription&gt;&lt;settleAmount&gt;&lt;/settleAmount&gt;&lt;transactionId&gt;13414821393ED286BF2A&lt;/transactionId&gt;&lt;changeIssueVoucherNumber&gt;&lt;/changeIssueVoucherNumber&gt;&lt;changeIssueVoucherCurr&gt;&lt;/changeIssueVoucherCurr&gt;&lt;changeIssueAmount&gt;&lt;/changeIssueAmount&gt;&lt;changeIssueExpiryDate&gt;&lt;/changeIssueExpiryDate&gt;&lt;ukashTransactionId&gt;&lt;/ukashTransactionId&gt;&lt;currencyConversion&gt;&lt;/currencyConversion&gt;&lt;errCode&gt;219&lt;/errCode&gt;&lt;errDescription&gt;Invalid Voucher Number&lt;/errDescription&gt;&lt;/UKashTransaction&gt;</string>

Tnx。

4

2 に答える 2

1

XMLは整形式ではありません-</xml>開始<xml>要素がないaで終わります。あなたがそれを修正していると仮定すると、以下のコードはあなたの問題を解決します。

$xml = simplexml_load_string($string);
print_r($xml->txDescrition);
于 2012-07-05T09:53:35.203 に答える
0

Simple XMLを使用している場合(PHPではデフォルトで有効になっているはずです)、次のことを試してください。

$xmlObject = simplexml_load_string($string);
echo $xmlObject->txDescription;

http://www.php.net/manual/en/function.simplexml-load-string.php

于 2012-07-05T09:47:40.757 に答える