Я новичок здесь и в PHP, я пытаюсь написать xml-файл, который имел в качестве источника XML-файл.
Когда я читаю XML и использую команду echo, я вижу все записи исходного XML.
но когда я хочу записать его в файл XML, я вижу только одну запись.
Я уже многое прочитал:
кое-что, что я нашел, было использованием массива использования, использования xpath или simpleXML.
Для кода в эхо-части, которую я использую foreach, возможно ли это с элементами DOM?
Код: `
$ objDOM = новый DOMDocument ();
$ dom1 = новый DOMDocument ();
$ objDOM-> preserveWhiteSpace = false;
$ objDOM-> нагрузки ( "googlepoints.xml"); // убедитесь, что путь правильный
$ photo = $ objDOM-> getElementsByTagName ("photo");
foreach ($ photo как $ value) {
$ album = $ value-> getElementsByTagName ("album");
$ albu = $ album-> item (0) -> nodeValue;
$description = $value->getElementsByTagName("description");
$descriptio = $description->item(0)->nodeValue;
$title = $value->getElementsByTagName("title");
$titl = $title->item(0)->nodeValue;
$link = $value->getElementsByTagName("link");
$lin = $link->item(0)->nodeValue;
$guid = $value->getElementsByTagName("guid");
$gui = $guid->item(0)->nodeValue;
$gps = $value->getElementsByTagName("gps");
$gp = $gps->item(0)->nodeValue;
echo "$task :: $detail :: $albu :: $descriptio :: $titl :: $lin :: $gui :: $medi :: $gp <br>";
// create doctype
$dom1 = new DOMDocument("1.0", 'utf-8');
$dom1->formatOutput = true;
$collection = $dom1->appendchild($dom1->createElement("collection"));
// create child element "photo"
$photo = $collection->appendChild($dom1->createElement("photo"));
// create child element "album"
$album = $photo->appendChild($dom1->createElement("album"));
$album->appendChild($dom1->createTextNode("$albu"));
// create child element "description"
$description = $photo->appendChild($dom1->createElement("description"));
$description->appendChild($dom1->createTextNode("$descriptio"));
// create child element "title"
$title = $photo->appendChild($dom1->createElement("title"));
$title->appendChild($dom1->createTextNode("$titl"));
// create child element "link"
$link = $photo->appendChild($dom1->createElement("link"));
$link->appendChild($dom1->createTextNode("$lin"));
// create text node
$guid = $photo->appendChild($dom1->createElement("guid"));
$guid->appendChild($dom1->createTextNode("$gu"));
// create child element "gps"
$gps = $photo->appendChild($dom1->createElement('gps'));
//$gps->appendChild($dom1->createTextNode("$gp"));
$gps->appendChild($dom1->createTextNode("$gp"));
}
// сохранить дерево в файл
$ Dom1-> Save ( "order12.xml");
//// save tree to string
//$dom1 = $dom1->save("order77.xml");
?> `
Выход из файла XML <?xml version="1.0" encoding="utf-8"?>
<collection>
<photo>
<album>Landschap</album>
<description>Foto's genomen op een mooie koude winterdag.</description>
<title>nil</title>
<link>index.html</link>
<guid></guid>
<gps>22°39'5" N 5°40'54" E</gps>
</photo>
</collection>
Только там, предположим, будет 5 из этих записей.
Может ли кто-нибудь мне помочь?