PHP XML Копирование элементов между узлами - PullRequest
0 голосов
/ 04 сентября 2011

Чтобы сделать резервную копию узлов 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 Ответ

1 голос
/ 04 сентября 2011

NodeValue здесь должно быть в нижнем регистре nodeValue, попробуйте вместо этого

  $name = $url->getElementsByTagName ("NAME")->item(0)->nodeValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...