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>

肿瘤坏死因子。

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 回答