2014-04-29 58 views
1

我正在嘗試使用我的PHP代碼讀取帶' - '標籤的XML文件。我的XML文件是這樣的: 當我沒有連字符和改變我的XML通過headelement讀文件,它是可讀的,但是當連字符是存在的,它不是可讀的,給我的錯誤:(!)無法使用' - '使用PHP中的SimpleXMLElement讀取XML標籤

尖叫:錯誤抑制忽略 解析錯誤(!):語法錯誤,意想不到的 '[' 在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(); 
} 

誰能幫我這個?

回答

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]; 

希望它能幫助。