Я делаю запрос на веб-сайт gov't для проверки номера налога. Я получаю довольно вложенный XML-ответ, и в настоящий момент я очень расстроен, пытаясь разобрать и получить доступ к данным.Как получить доступ к данным в этом ответе PHP XML?
В Ессенции это ответ:
<params>
<param>
<value><array><data>
<value><string>UstId_1</string></value>
<value><string>SOMETAXNUM</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>ErrorCode</string></value>
<value><string>200</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>UstId_2</string></value>
<value><string>SECONDTAXNUM</string></value>
</data></array></value>
</param> ....
</params>
я анализирую результат с new SimpleXMLElement()
.
Но у меня нет успеха в доступе к тому, что мне действительно нужно ... И мне нужен ответ «ErrorCode» (в данном случае его 200).
Это то, что я имел
$xml->["param"][1]->["value"]->['array']->["data"]->["value"][1]->['string'];
Благодаря ответ я получил, это мое плохое решение, чтобы получить код я хотел:
$xml = simplexml_load_string($xml_string);
$result = $xml->xpath('param');
$count = 0;
while(list(, $node) = each($result)) {
if ($count == 1){
return (string)$node->value[0]->array[0]->data->value[1]->{'string'};
}
$count ++;
}
Покажите нам свою неудачную попытку выяснить, можем ли мы спасти что-либо от этого. – Script47
$ xml -> ["param"] [1] -> ["value"] -> ['array'] -> ["data"] -> ["value"] [1] -> ['string' ]; – Matt
Пожалуйста, положите его в свой OP. – Script47