如何访问ADDRESS.LIST节点?
How to access to ADDRESS.LIST node?
我想获取ADDRESS.LIST
XML节点值。我的样本 XML 是:
$result = "<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>1</STATUS>
</HEADER>
<BODY>
<DESC></DESC>
<DATA>
<MESSAGE xmlns:UDF=\"TallyUDF\">
<ADDRESS.LIST TYPE=\"String\">
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
</ADDRESS.LIST>
</MESSAGE>
</DATA>
</BODY>
</ENVELOPE>";
我正在尝试将 PHP 用作:
$repaired = str_replace(" ", "", $result);
$array_data = simplexml_load_string($repaired, 'SimpleXMLElement', LIBXML_NOERROR);
$address = [];
$status = (string) $array_data->HEADER->STATUS;
if (strpos($status, '1') !== false) {
$i = 0;
$address = array();
foreach ($array_data->BODY->DATA->MESSAGE->'ADDRESS.LIST' as $item):
$address[$i]['ADDRESS'] = (string) $item->ADDRESS;
$i++;
endforeach;
$response["status"] = $status;
$response["data"]['address'] = $address;
}
echo json_encode($response);
但它显示:
Parse error: syntax error, unexpected ''ADDRESS.LIST'' (T_CONSTANT_ENCAPSED_STRING), expecting identifier (T_STRING) or variable (T_VARIABLE)" error
如何正确获取<ADDRESS.LIST>
值?
您可以存储值变量然后使用,或者您可以通过 {}
使用它
选项 1:
$address_list = "ADDRESS.LIST";
foreach($array_data->BODY->DATA->MESSAGE->$address_list as $item):
选项 2:
foreach($array_data->BODY->DATA->MESSAGE->{'ADDRESS.LIST'} as $item):
我想获取ADDRESS.LIST
XML节点值。我的样本 XML 是:
$result = "<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<STATUS>1</STATUS>
</HEADER>
<BODY>
<DESC></DESC>
<DATA>
<MESSAGE xmlns:UDF=\"TallyUDF\">
<ADDRESS.LIST TYPE=\"String\">
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
<ADDRESS>address text</ADDRESS>
</ADDRESS.LIST>
</MESSAGE>
</DATA>
</BODY>
</ENVELOPE>";
我正在尝试将 PHP 用作:
$repaired = str_replace(" ", "", $result);
$array_data = simplexml_load_string($repaired, 'SimpleXMLElement', LIBXML_NOERROR);
$address = [];
$status = (string) $array_data->HEADER->STATUS;
if (strpos($status, '1') !== false) {
$i = 0;
$address = array();
foreach ($array_data->BODY->DATA->MESSAGE->'ADDRESS.LIST' as $item):
$address[$i]['ADDRESS'] = (string) $item->ADDRESS;
$i++;
endforeach;
$response["status"] = $status;
$response["data"]['address'] = $address;
}
echo json_encode($response);
但它显示:
Parse error: syntax error, unexpected ''ADDRESS.LIST'' (T_CONSTANT_ENCAPSED_STRING), expecting identifier (T_STRING) or variable (T_VARIABLE)" error
如何正确获取<ADDRESS.LIST>
值?
您可以存储值变量然后使用,或者您可以通过 {}
选项 1:
$address_list = "ADDRESS.LIST";
foreach($array_data->BODY->DATA->MESSAGE->$address_list as $item):
选项 2:
foreach($array_data->BODY->DATA->MESSAGE->{'ADDRESS.LIST'} as $item):