我在网上可以找到的所有这些例子都只涉及在文档根目录中向XML文件中添加内容,但我真的需要做更深入的事情.

我的XML文件很简单,我有:

Image Title

www.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添加新元素?相关推荐

  1. c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作

    c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作 在这里插入图片描述 using Autodesk.AutoCAD.DatabaseServices; using ...

  2. php扩展包是什么意思,php – 扩展或包括 – 什么是更好的Twig?

    何时使用继承: 您有50页共享相同的布局 – 您创建一个layout.twig作为父,每个页面扩展该layout.twig.所以父类是通用的,子类是特定的. 何时使用包括: 在50页中,有6页共享一块 ...

  3. VS Code 的 python 扩展发布,绘图功能更强大

    Visual Studio Code 的 python扩展已发布,可以从 Marketplace 下载Python扩展,或直接从 Visual Studio Code 中的扩展库安装.如果已经安装了P ...

  4. 充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库

    1.es扩展词库在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件 new_ ...

  5. numpy 用于图像处理(灰度图、转置、通道分离、图像扩展、水平镜像、水平翻转、调换x,y坐标、添加mask、随机打乱顺序、交换通道)

    目录 numpy 用于图像处理 1. 转换为灰度图 2. 转置 3. 画出三个通道的彩图 4. 图像扩展 5. 水平镜像 --- 交换行 6. 水平翻转 --- 交换列 7. 调换x,y坐标 8. 添 ...

  6. Android zar高速扫码程序,(比zxing快很多倍),包更小,扫码界面Xml布局。

    最近在为公司做一个仓库管理系统,里面涉及到物流扫码,产品扫码等功能,公司购置了许多PDA用来操作,因此最近研究了一下Android的扫码. 关于zxing 和zbar的比较, 这里我大概的了解了一下: ...

  7. 使用jdk DOM,SAX和第三方jar包DOM4J创建,解析xml文件

    xml的创建,解析 1. 什么是xml文件 1.1 什么是xml文件 1.2 解析xml的方式,优缺点 2. 使用dom操作xml文件 2.1 使用dom创建xml文件 2.2 使用dom解析xml文 ...

  8. 这个vue3的应用框架你学习了吗?

    关注并将「趣谈前端」设为星标 每早08:30按时推送技术干货/优秀开源/技术思维 ❝ 前言:前段时间开始落地基于vue3开发的应用,于是在社区留意vue3周边的一些开源项目.无意间看到微众银行WeBa ...

  9. C++标准模板库(STL)的容器的底层实现

    STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库. 以上图片来自 C++中的容器分为顺序容器和关联容器,所有容器都是类模板 使用模板 ...

最新文章

  1. 变更AD计算机名称和IP地址
  2. bzoj1196 [HNOI2006]公路修建问题
  3. Windows Server入门系列之十六 端口、连接与端口扫描
  4. Spring系列(九):Spring属性赋值注解@Value 用法介绍
  5. [Android学习笔记四] 自定义Android组件之组合方式创建密码框组件
  6. springBoot学习(二) 基础运行原理
  7. Ubuntus安装vmware tools工具
  8. 【原创】ASP.NET C# 对SQL/ACCESS 数据库的备份和还原函数
  9. nginx和tomcat实现反向代理、负载均衡和session共享
  10. cnki下载pdf文档
  11. js实现椭圆轨迹_用js实现一组图片同心椭圆周运动 图片有从小到大渐近效果
  12. 在企业中采用知识管理工具的好处
  13. Observable与Subject
  14. Leetcode 274 H指数
  15. 解决colab上传大文件速度慢
  16. 安卓仿陌陌用户详情页轮播图联动效果
  17. (个人学习笔记)利用ensight进行EDEM耦合FLUENT后处理
  18. 电路分析计算必备数学知识----导数与微积分计算(未完)
  19. 《一百岁感言》 杨绛
  20. 第四章-linux内核裁剪与移植

热门文章

  1. 用指针编写程序将输入的字符串倒序输出
  2. js逻辑训练题_七彩思维逻辑魔盘:全方面锻炼孩子的数学与逻辑思维
  3. 需求与业务的区别、需求设计与业务设计的区别
  4. 面向大数据的异构内存系统
  5. 作者:徐明泉(1988-),男,百度外卖研发中心架构师。
  6. 【OJ】洛谷循环结构题单题解锦集
  7. 软件能力成熟度CMMI3管理过程域
  8. Scilab 求解线性方程组示例(linsolve)
  9. REG Delete用法
  10. 使用git恢复未提交的误删数据