php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?
我在網(wǎng)上可以找到的所有這些例子都只涉及在文檔根目錄中向XML文件中添加內(nèi)容,但我真的需要做更深入的事情.
我的XML文件很簡單,我有:
Image Titlewww.link.com/image.jpg
我想要做的就是添加新的“item”元素,每個元素都帶有標(biāo)題和鏈接.我知道我需要使用PHP DOM,但我對如何編碼它感到困惑,因此它在“屏幕截圖”中添加數(shù)據(jù)而不是覆蓋整個文檔.我懷疑我可能也需要使用XPath,但我不知道怎么做!
我從在線示例拼湊而來的代碼看起來像這樣(但我確定這是錯的)
$newshottitle = "My new screenshot";
$newshotlink = "http://www.image.com/image.jpg";
$dom = newDomDocument;
$dom->formatOutput = true;
$dom->load("../xml/screenshots.xml");
$dom->getElementsByTagName("screenshots");
$t = $dom->createElement("item");
$t = $dom->createElement("title");
$t->appendChild($dom->createTextNode("$newshottitle"));
$l = $dom->createElement("link");
$l->appendChild($dom->createTextNode("$newshotlink"));
$dom->save("../xml/screenshots.xml");
解決方法:
adding content to an XML file at the document root, but I really need to do it deeper than that.
您目前無法在任何地方添加內(nèi)容!您創(chuàng)建< title>和< link>帶有文本的元素節(jié)點,然后你不用它們.您應(yīng)該將它們傳遞到< item>上的’appendChild’元素節(jié)點(您當(dāng)前正在創(chuàng)建并通過不將其分配給變量立即丟棄).
這是一個起點:
$screenshots= $dom->getElementsByTagName("screenshots")[0];
$title= $dom->createElement("title");
$title->appendChild($dom->createTextNode($newshottitle));
$item= $dom->createElement("item");
$item->appendChild($title);
$screenshots->appendChild($item);
標(biāo)簽:php,dom,xml,xpath
來源: https://codeday.me/bug/20190726/1548162.html
總結(jié)
以上是生活随笔為你收集整理的php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java gui容器_[Java教程]G
- 下一篇: php怎么获得产品id,php – 如