尝试将myXml.xml中的一些数据添加到字符串时出现以下错误:解析错误:语法错误,意外T_OBJECT_OPERATOR。
$xmlstr = file_get_contents('myXml.xml');
$xml = new SimpleXMLElement($xmlstr);
foreach($xml->order as $order){
$replace = array();
$firstName = (string) $order->billing-address->first-name;
$lastName = (string) $order->billing-address->last-name;
}
我无法直接提供XML,因为它包含敏感数据。
谢谢, 萨姆
答案 0 :(得分:12)
-
符号表示减法。要在属性名称中使用它,必须使用以下语法:
$firstName = (string) $order->{"billing-address"}->{"first-name"};
$lastName = (string) $order->{"billing-address"}->{"last-name"};
一般情况下,最好使用firstName
,billingAddress
等作为属性名称来避免这种情况。见CamelCase。但是,在这种情况下,您可能无法控制XML输入。