#php #xml
#php #xml
Вопрос:
Привет, у меня есть этот XML-ответ, который я анализирую, и я могу получить доступ к третьему текстовому полю, я его проанализировал, и я даже делаю var_dump($xmlObj->TerminalCommandResponse->Text);
, в котором я получаю на экране
object(SimpleXMLElement)#48 (14) {
[0]=> string(4) "BB"
[1]=> string(45) " *** BEST QUOTATION ***"
[2]=> string(52) " FOR THIS ITI"
[3]=> string(48) " *** BF SEGMENTS 1P/2P ***"
...
}
Но когда я пытаюсь напрямую получить доступ:
$XMlText=$xmlObjFourth->TerminalCommandResponse->Text;
var_dump($XMLText[2]);
Он ничего не показывает. Я даже попробовал цикл foreach на случай, если я неправильно использую ключи, но все та же проблема
<terminal:TerminalRsp xmlns:terminal="terminal_v50_0" TransactionId="F09006B80A0759BF61F85144F306F735" ResponseTime="527">
<terminal:TerminalCommandResponse>
<terminal:Text>BB</terminal:Text>
<terminal:Text>*** BEST QUOTATION ***</terminal:Text>
<terminal:Text>FOR THIS ITI</terminal:Text>
<terminal:Text>*** BF SEGMENTS 1P/2P ***</terminal:Text>
<terminal:Text> PSGR PSG DES </terminal:Text>
<terminal:Text>FQG 1 PY2PC 3640 6201 ADT </terminal:Text>
<terminal:Text> GUARANTEED A </terminal:Text>
<terminal:Text>)>amp;<</terminal:Text>
</terminal:TerminalCommandResponse>
</terminal:TerminalRsp>
Ответ №1:
Возможно, это специальный символ или пробел, который блокирует вас, это интересная проблема, которая, я думаю, поможет для начала
foreach($XMLText as $k=>$tmp)
{
var_dump(preg_replace("/[^a-zA-Z0-9s ] /", "", $tmp));
}
таким образом, вы можете видеть, что находится в каждом поле в массиве XmlText