在节点之间复制元素


PHP XML Copying elements between nodes

要创建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节点的id,但不检索NAME或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>

这里的NodeValue应该是小写的nodeValue,试试这个

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