无法使用' - '读取XML标记在PHP中使用SimpleXMLElement

时间:2014-04-29 05:07:40

标签: php xml

我正在尝试阅读带有' - '标签的XML文件。使用我的PHP代码。我的XML文件如下所示: 当我通过没有连字符的headelement阅读并更改我的xml文件时,它是可读的但是当连字符存在时,它是不可读的并且给我错误:

(!)SCREAM:忽略错误抑制 (!)解析错误:语法错误,意外' ['在myfile中

<root>
   <head-element>
    ...
    ...
    ...
   </head-element>
    <head-element>
    ...
    ...
    ...
   </head-element>
</root>

我读取XML文件的php代码是:

try 
{ 
    /*** a new dom object ***/ 
    $xml = new domDocument;         
    $xml->formatOutput = true;
    $xml->preserveWhiteSpace = false;   

    $xml = simplexml_load_file('root.xml'); 
    $sxe = new SimpleXMLElement($xml->asXML()); 

    $nodes = $sxe->head-element[0];
    $user = $nodes->addchild("new-element"); 
    $user->addChild("uuid", "a1234");
    echo $sxe->asXML(); 
} 
catch( Exception $e ) 
{ 
    echo $e->getMessage(); 
} 

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用以下方式访问xml节点:

$xml = new domDocument;         
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;   

$xml = simplexml_load_file('root.xml'); 
$sxe = new SimpleXMLElement($xml->asXML()); 

//the way you can read your custom nodes
$nodes = $sxe->{'head-element'}[0];

希望它有所帮助。