php xmldom扩展,如何使用比根更深入的PHP DOM向XML添加新元素?
我在网上可以找到的所有这些例子都只涉及在文档根目录中向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添加新元素?相关推荐
- c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作
c# cad二次开发实现注记搜索跟扩展属性搜索,并点击即可定位到位置,添加了界面操作 在这里插入图片描述 using Autodesk.AutoCAD.DatabaseServices; using ...
- php扩展包是什么意思,php – 扩展或包括 – 什么是更好的Twig?
何时使用继承: 您有50页共享相同的布局 – 您创建一个layout.twig作为父,每个页面扩展该layout.twig.所以父类是通用的,子类是特定的. 何时使用包括: 在50页中,有6页共享一块 ...
- VS Code 的 python 扩展发布,绘图功能更强大
Visual Studio Code 的 python扩展已发布,可以从 Marketplace 下载Python扩展,或直接从 Visual Studio Code 中的扩展库安装.如果已经安装了P ...
- 充电复习之ES 扩展词库及热更新词库,扩展同义词词库,及热扩展词库
1.es扩展词库在/usr/local/es/elasticsearch-node01/plugins/elasticsearch-analysis-ik-7.2.1/config中新建文件 new_ ...
- numpy 用于图像处理(灰度图、转置、通道分离、图像扩展、水平镜像、水平翻转、调换x,y坐标、添加mask、随机打乱顺序、交换通道)
目录 numpy 用于图像处理 1. 转换为灰度图 2. 转置 3. 画出三个通道的彩图 4. 图像扩展 5. 水平镜像 --- 交换行 6. 水平翻转 --- 交换列 7. 调换x,y坐标 8. 添 ...
- Android zar高速扫码程序,(比zxing快很多倍),包更小,扫码界面Xml布局。
最近在为公司做一个仓库管理系统,里面涉及到物流扫码,产品扫码等功能,公司购置了许多PDA用来操作,因此最近研究了一下Android的扫码. 关于zxing 和zbar的比较, 这里我大概的了解了一下: ...
- 使用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文 ...
- 这个vue3的应用框架你学习了吗?
关注并将「趣谈前端」设为星标 每早08:30按时推送技术干货/优秀开源/技术思维 ❝ 前言:前段时间开始落地基于vue3开发的应用,于是在社区留意vue3周边的一些开源项目.无意间看到微众银行WeBa ...
- C++标准模板库(STL)的容器的底层实现
STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库. 以上图片来自 C++中的容器分为顺序容器和关联容器,所有容器都是类模板 使用模板 ...
最新文章
- 变更AD计算机名称和IP地址
- bzoj1196 [HNOI2006]公路修建问题
- Windows Server入门系列之十六 端口、连接与端口扫描
- Spring系列(九):Spring属性赋值注解@Value 用法介绍
- [Android学习笔记四] 自定义Android组件之组合方式创建密码框组件
- springBoot学习(二) 基础运行原理
- Ubuntus安装vmware tools工具
- 【原创】ASP.NET C# 对SQL/ACCESS 数据库的备份和还原函数
- nginx和tomcat实现反向代理、负载均衡和session共享
- cnki下载pdf文档
- js实现椭圆轨迹_用js实现一组图片同心椭圆周运动 图片有从小到大渐近效果
- 在企业中采用知识管理工具的好处
- Observable与Subject
- Leetcode 274 H指数
- 解决colab上传大文件速度慢
- 安卓仿陌陌用户详情页轮播图联动效果
- (个人学习笔记)利用ensight进行EDEM耦合FLUENT后处理
- 电路分析计算必备数学知识----导数与微积分计算(未完)
- 《一百岁感言》 杨绛
- 第四章-linux内核裁剪与移植