社区首页 >问答首页 >使用simpleXmlElement时,需要向元素添加3个属性,但输出元素缺少命名空间

使用simpleXmlElement时,需要向元素添加3个属性,但输出元素缺少命名空间
EN

Stack Overflow用户
提问于 2018-01-23 12:01:22
回答 1查看 198关注 0票数 0

我正在致力于php来构建一个SimpleXMLElement网站地图,我有两个问题。

因为我正在处理一个多语言领域,所以我需要包含hreflang元素,请参阅https://support.google.com/webmasters/answer/2620865?hl=en作为参考。

这个元素有3个属性'rel','href‘和'hreflang’。

如何设置此元素并向其添加自定义值?

//示例

代码语言:javascript
代码运行次数:0
复制
foreach($array as $value ){

     $item->addChild('xhtml:link' , '//takes no value');

     // needed output
     <xhtml:link href="http://www.example.com/path-to-file" hreflang="de" rel="alternate"/>

}

此外,在使用

代码语言:javascript
代码运行次数:0
复制
->addChild('xhtml:link')

它将输出

代码语言:javascript
代码运行次数:0
复制
 <link/> 

 and NOT 

 <xhtml:link/>

是的,我使用了正确的urlset属性(xmlns:xhtml=“http://www.w3.org/1999/xhtml"”)。

EN

回答 1

Stack Overflow用户

发布于 2018-01-23 12:12:10

使用addChild()添加新元素时,名称空间还有第三个参数。还可以使用- addAttribute()添加属性。因此,创建元素,然后一次添加一个属性...

代码语言:javascript
代码运行次数:0
复制
foreach($array as $value ){
     $newElement = $item->addChild('link' , '//takes no value', 'xhtml');
     $newElement->addAttribute( "href", "http://www.example.com/path-to-file");
     $newElement->addAttribute( "hreflang", "de");
     $newElement->addAttribute( "rel", "alternate");
     // needed output
     //<xhtml:link href="http://www.example.com/path-to-file" hreflang="de" rel="alternate"/>

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48401244

复制
相关文章
Excel公式技巧37: 移除前导0
然而,对于数据中其他位置还存在0的情况,上面的公式会将所有的0都替换掉,如下图2所示。
fanjy
2020/06/24
1.8K0
[译]从仓库中移除敏感信息
如果你将敏感数据(如密码或 SSH 密钥)提交到 Git 仓库,你能够将其从历史记录中删除。 要从仓库的历史记录中完全删除不需要的文件,你可以使用 git filter-branch命令或 BFG Repo-Cleaner。
madneal
2022/03/11
9660
Java 反射获取成员变量名称
使用 Sql2o 方法读取数据库的时候,发现表名类似,但是有一些差别,如果使用 select * 方式查询,需要针对对象声明多个内容,但是实际上用的都是一样的,所以想通过获取成员变量的名称来拼接成 select 后面的内容,经过尝试,发现可以用下面的方法获取:
zucchiniy
2019/10/30
3K0
一批模块从 FreeSWITCH 中移除
可追溯的 FreeSWITCH 第一行代码写于 2005 年,这是最早签入 SVN 的记录。
杜金房
2025/01/15
931
一批模块从 FreeSWITCH 中移除
如何从 Ceph (Luminous) 集群中安全移除 OSD
工作中需要从 Ceph 的集群中移除一台存储服务器,挪作他用。Ceph 存储空间即使在移除该存储服务器后依旧够用,所以操作是可行的,但集群已经运行了很长时间,每个服务器上都存储了很多数据,在数据无损的情况下移除,看起来也不简单。
用户2443625
2018/08/27
3K0
如何从 Ceph (Luminous) 集群中安全移除 OSD
使用 Python 从作为字符串给出的数字中删除前导零
在本文中,我们将学习一个 python 程序,从以字符串形式给出的数字中删除前导零。
很酷的站长
2023/02/23
7.5K0
使用 Python 从作为字符串给出的数字中删除前导零
NodeJs前导课
NodeJs前导课 了解后端 后端分层 node的思想 具有模块化 了解后端 后端分层 web层 接收和发送Http请求,还需要校验参数是否合法,将参数封装成对象,也可以成为web层,controller层 业务逻辑层 xxxService,也称为服务成,处理业务逻辑 DAO层 DB,存取数据 持久层 文件,数据库 这里的数据库有两种,一种是关系型数据库(Msql),还有一种是非关系型数据库(MongoDB) node的思想 具有模块化 需要require和 module.exports 在前
envoke
2020/09/17
2880
【Android 安全】DEX 加密 ( Application 替换 | 修改 LoadedApk 中的 mApplicationInfo 成员的 className 名称 )
上一篇博客 【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 ) 替换 LoadedApk 中的 Application mApplication 成员 , 到目前为止 , 该应用已经可以成功执行 ;
韩曙亮
2023/03/29
2310
WordPress 技巧:如何从 WordPress 页面菜单中移除特定页面
从 wp_list_pages() 中生成的页面菜单中移除特定的页面是非常简单的,只需要把下面代码加入到主题的 functions.php 文件中:
Denis
2023/04/15
1.9K0
解决:Dockerfile 中执行 tar 命令始终报错:tar: /xx/xx: Cannot stat: No such file or directory tar: Exiting with
PS:Volume 命令详细解说见官方文档:https://docs.docker.com/storage/volumes/
微风-- 轻许--
2019/08/01
6.3K0
tar命令中的 -C 作用
我用这个命令:tar zcvf chao.tar.gz /chao/*  打包文件的时候,在压缩包里把  /chao/这个路径也打包进去了。
拓荒者
2019/06/19
3.2K0
tar命令中的 -C 作用
C++11模板:如何判断类中是否有指定名称的成员变量?
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/51113805
10km
2019/05/25
4.2K0
【数据结构和算法】从字符串中移除星号
这是力扣的 2390 题,难度为中等,解题方案有很多种,本文讲解我认为最奇妙的一种。
绿毛龟
2024/01/19
1840
【数据结构和算法】从字符串中移除星号
tar命令中的 -C 作用
我用这个命令:tar zcvf chao.tar.gz /chao/*  打包文件的时候,在压缩包里把  /chao/这个路径也打包进去了。
拓荒者
2019/06/22
5550
MyEclipse从目录里移除所有项目
本文最后更新于 774 天前,其中的信息可能已经有所发展或是发生改变。 1.进入工作空间 2.进入.metadata\.plugins\org.eclipse.core.resources 3.删除.projects文件夹里的所有文件 4.删除.snap结尾的文件 5.删除.safetable文件夹里的所有文件 Post Views: 353
Yuyy
2022/06/28
5740
从你的侧边栏移除 Meta
如果你浏览过一些 WordPress 博客,特别是最近新开张的,你会注意到很多人会保留来随他们选用主题而来的侧边栏中的 Meta 区域。如果你也是,那么把它删除了吧!
Denis
2023/04/14
3200
从你的侧边栏移除 Meta
从模块外部访问内部成员
从模块外部访问内部成员 1.使用exports exports.js: var myMsg='hello'; var funcname = function () { return 'testMsg'; }; exports.msg = myMsg; exports.funcname = funcname; foo.js: var foo = require('./exports.js'); console.log(foo.msg); console.log(foo.funcname());
Dream城堡
2018/10/15
1.1K0
Go基础系列 | 1. 前导
“Go基础系列”是对 Go语言基础的系列梳理文章。在开始这个系列之前,我先”坦白“下我的一个工作经历,再对这个系列说明几个问题。
潇洒哥和黑大帅
2021/06/01
5250
Go基础系列 | 1. 前导
Netty中的线程名称
创建的第一个步骤就是创建线程执行器ThreadPerTaskExecutor, 这个线程执行器就是用来创建Netty底层的线程的. 在学习Java的Thread时候,线程默认名称类似thread-0,thread-1,thread-2...以此类推. 而线程的名称对于我们排查问题的时候也是起到很大作用的, 因此我们在设计线程池, 也会根据一定的规则给线程池中的线程命名, 这也是一个好的习惯.
书唐瑞
2022/06/02
1.1K0
Netty中的线程名称
tar 压缩中的易错项
其原因是tar默认为相对路径,使用绝对路径的话就回报这个错,可以使用-P参数(注意大写)解决这个问题 [root@localhost test]# tar zcvf services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services 解释:加上P的原因是因为可以压缩绝对路径。
知识浅谈
2020/03/25
1.1K0

相似问题

通过sh脚本启动jar正常,但通过crontab提供ClassFormatError

12

如何用crontab启动sh脚本?

26

Crontab未启动python程序

11

通过crontab从Python启动外部GUI应用程序

133

无法使用crontab运行.sh脚本

118
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文