php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?
我在網上可以找到的所有這些例子都只涉及在文檔根目錄中向XML文件中添加內容,但我真的需要做更深入的事情.
我的XML文件很簡單,我有:
Image Titlewww.link.com/image.jpg
我想要做的就是添加新的“item”元素,每個元素都帶有標題和鏈接.我知道我需要使用PHP DOM,但我對如何編碼它感到困惑,因此它在“屏幕截圖”中添加數據而不是覆蓋整個文檔.我懷疑我可能也需要使用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.
您目前無法在任何地方添加內容!您創建< title>和< link>帶有文本的元素節點,然后你不用它們.您應該將它們傳遞到< item>上的’appendChild’元素節點(您當前正在創建并通過不將其分配給變量立即丟棄).
這是一個起點:
$screenshots= $dom->getElementsByTagName("screenshots")[0];
$title= $dom->createElement("title");
$title->appendChild($dom->createTextNode($newshottitle));
$item= $dom->createElement("item");
$item->appendChild($title);
$screenshots->appendChild($item);
標簽:php,dom,xml,xpath
來源: https://codeday.me/bug/20190726/1548162.html
總結
以上是生活随笔為你收集整理的php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java gui容器_[Java教程]G
- 下一篇: [云炬创业学笔记]第二章决定成为创业者测