2011-09-04 90 views
0

要製作XML節點的備份副本,我必須將所有節點元素複製到新節點。我有這個代碼來進行復制。PHP XML複製節點間的元素

foreach($xurll as $url) 
{ 
    $urlid = $url->getAttribute('ID'); 
    $xurl = $dom->createElement("URL"); 
    $xurl->setAttribute("ID", $urlid); 
    $xurlb->appendChild($xurl); 

    $name = $url->getElementsByTagName ("NAME")->item(0)->NodeValue; 
    $xuname  = $dom->createElement("NAME"); 
    $xunameText = $dom->createTextNode($name); 
    $xuname->appendChild($xunameText); 
    $xurl->appendChild($xuname); 

    $urllink = $url->getElementsByTagName ("URLC")->item(0)->NodeValue; 
    $xulink  = $dom->createElement("URLC"); 
    $xulinkText = $dom->createTextNode($urllink); 
    $xulink->appendChild($xulinkText); 
    $xurl->appendChild($xulink); 

} 

此代碼檢索要複製的URL節點的標識,但不檢索名稱或URLC。 獲取該信息的正確方法是什麼?

<?xml version="1.0" encoding="ISO-8859-1"?> 
<COMMUNITIES> 
<COMMUNITY ID="c000002"> 
    <NAME>ID000002</NAME> 
    <TOP>192</TOP> 
    <LEFT>297</LEFT> 
    <WIDTH>150</WIDTH> 
    <HEIGHT>150</HEIGHT> 
    <URLS> 
    <URL ID="u000002"> 
     <NAME>Facebook.com</NAME> 
     <URLC>http://www.facebook.com</URLC> 
    </URL> 
    </URLS> 
</COMMUNITY> 
</COMMUNITIES> 

回答

1

NodeValue這裏應該是小寫nodeValue,試試這個,而不是

$name = $url->getElementsByTagName ("NAME")->item(0)->nodeValue 
+0

太好了!這樣可行! – user823527