我想用PHP構建XML文檔。用PHP輕鬆創建XML文檔
我選擇了DOMDocument,我知道我必須使用像createElement
,createTextNode
,appendChild
等方法來構建我的XML。
我這是怎麼產生的只有一個節點包含車輛信息的XML:
<?php
$doc = new DOMDocument ('1.0', 'utf-8');
$vehicles = $doc->createElement ("Vehicles");
$vehicle = $doc->createElement("Vehicle");
$vehicle_num = $doc->createElement("Number");
$vehicle_desc = $doc->createElement("Description");
$vehicle_year = $doc->createElement("Year");
$vehicle_make = $doc->createElement("Make");
$vehicle_model = $doc->createElement("Model");
$vehicle_color = $doc->createElement("Color");
$vehicle_num->appendChild($doc->createTextNode("AW2CM31Y8"));
$vehicle_year->appendChild($doc->createTextNode("2013"));
$vehicle_make->appendChild($doc->createTextNode("VOLKSWAGEN"));
$vehicle_model->appendChild($doc->createTextNode("NEW BEETLE"));
$vehicle_color->appendChild($doc->createTextNode("Black"));
$vehicle_desc->appendChild($vehicle_year);
$vehicle_desc->appendChild($vehicle_make);
$vehicle_desc->appendChild($vehicle_model);
$vehicle_desc->appendChild($vehicle_color);
$vehicle->appendChild($vehicle_num);
$vehicle->appendChild($vehicle_desc);
$vehicles->appendChild($vehicle);
$doc->appendChild ($vehicles);
header ("Content-type: text/xml");
echo $doc->saveXML();
但是,如果我想建立一個xml什麼用說不僅包含車輛信息100個節點,而且其他節點高於和低於它。這個過程太費力了。
那麼,有沒有一種簡單的方法創建節點,並在PHP中使用xml爲它們添加值?我關心的是我應該編寫的代碼行數。
我不知道,如果* *樂觀是問你們這樣一個技術問題,正確的術語。XML僅僅是一種序列化格式,所以不應只將創建作爲「代碼」編寫,而應首先將數據分離爲它自己的數據結構。然後編寫基於數據結構創建XML的代碼。這是我誠實給予的最好建議。 – hakre
@hakre現在修改我的問題。 –
你可以寫成純xml?或者,如果你有一個數據源作爲XML導出,使用for(each)循環? – TiMESPLiNTER