PHP - 在XML标记

时间:2017-11-02 11:48:13

标签: php xml simplexml addchild

您好我使用PHP并且我编写了一个应用程序,该应用程序使用数据库查询的结果创建并填充SimpleXMLObject。结果将保存为标记。我用

完成了这个
if (!isset($set->$parttemp)) {
$parttemp = "$parttemp &#40 $groupname &#41";
$set = $set->addChild($parttemp);
}

我的问题是,我想在XML标签中使用特殊字符。通过一些研究,我发现你需要使用该字符的代码,例如"("你需要写(

但是如果你想在标签中使用这些代码,你还需要用该代码替换标签。例如,对于< permission(s)/>我需要写< permission ( s ) / >

这不是什么大问题,但是标签是从addChild操作设置的,所以我无法操纵它们。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

标点字符,例如“(”在XML元素或属性名称中无效。尝试转义它们(例如作为十进制字符引用()是没有用的 - 字符引用无法识别名。

您必须找到一些将字符串编码为有效名称的应用程序级方法。例如,我见过人们使用<permission_x28_s_x29_>

但通常,我倾向于选择<element name="permissions(s)">