[英]How to append new elemnt to XML-file using php DOMdocument?
我有這個test.xml:
<?xml version="1.0"?>
<Images>
<Image>
<Id>765</Id>
<Title>Img title 1</Title>
<Name>some_path_to_img.jpg</Name>
</Image>
</Images>
我嘗試將新的'<Image>'
到'<Images>'
,但是沒有成功。 這是我的代碼:
function update_xml_file() {
$xml = new DOMDocument();
$xml->load(file_get_contents('test.xml'));
$xml->formatOutput = true;
$base_node = $xml->getElementsByTagName('Images')->item(0);
$newimage = $xml->createElement("Image");
$img_id = $xml->createElement("Id");
$img_title = $xml->createElement("Title");
$img_name = $xml->createElement("Name");
$img_id->nodeValue = '766';
$img_title->nodeValue = 'Image title 2';
$img_name->nodeValue = 'some_path_to_img2.jpg';
$newimage->appendChild($img_id);
$newimage->appendChild($img_title);
$newimage->appendChild($img_name);
$base_node->appendChild($newimage);
umask();
$xml->save("test.xml");
}
到處尋找相關討論並沒有幫助我。 謝謝你的時間。
您在加載xml數據的代碼中有一些錯字。
更改為:
$xml->loadXML(file_get_contents('test.xml'));
或更好)
$xml->load('test.xml');
您還可以使用github上的此程序包使其變得簡單http://github.com/toureiliass/xdt
您可以用幾行代碼來完成
$con = new XDT();
$con->connect('test.xml');
$con->getDocumentRootElement()->append('<image><id>765</id><title>some title</title><name>some_path_to_image.jpg</name></image>');
$con->save();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.