使用带有索引位置的 addChild

2024-02-28

当我添加子节点时,如何根据它的兄弟节点选择它的位置?

这是一个例子:

<?php
    $_XML = '   <Test>
                    <Menu>
                        <Link href="page1.htm" />
                        <Link href="page2.htm" />
                        <Link href="page4.htm" />
                    </Menu>
                </Test>';

    $_RenderedXML = new SimpleXMLElement($_XML);

    //Add a new Link node
    $_NewLink = $_RenderedXML->Menu->addChild("Link");
    $_NewLink->addAttribute("href", "page3.htm");

    echo $_RenderedXML->asXML();
?>

这将呈现 XML,新节点位于其同级节点下方。 我想明确它的位置。

addChild("Link", 2) //or something.

我知道阿特法托的回答 https://stackoverflow.com/questions/3432358/using-addchild-with-an-index-position/3432441#3432441已经被接受,但看起来做的工作比要求的要多。一个更简单的替代方案,使用他的函数签名,可能类似于下面的函数。

function addchild_at(SimpleXMLElement $sxml, $tagname, $i)
{
    $parent = dom_import_simplexml($sxml);
    $child  = $parent->ownerDocument->createElement($tagname);
    $target = $parent->getElementsByTagname('*')->item($i);
    if ($target === NULL) {
        $parent->appendChild($child);
    } else {
        $parent->insertBefore($child, $target);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用带有索引位置的 addChild 的相关文章

  • 将嵌套数组中的“点符号”键扩展到子数组

    我从某个任意深度的嵌套数组开始 在该数组中 一些键是一系列由点分隔的标记 例如 billingAddress street 或 foo bar baz 我想将这些键控元素扩展到数组 因此结果是一个嵌套数组 其中所有这些键都已扩展 例如 bi
  • 如何使用正则表达式将多个
    标签替换为一个
    标签?

    I want br br 变成 br 正则表达式的模式是什么 注 br 标签可以连续出现两次以上 html preg replace br gt s i br html 这将捕获任何组合 br br or br 它们之间有任意数量或类型的空
  • JqG​​rid PHP:通过工具栏过滤时突出显示结果

    我想在使用过滤器工具栏时突出显示搜索结果 我尝试使用该解决方案Oleg https stackoverflow com users 315935 oleg and 阿布舍克 西蒙 https stackoverflow com users
  • 对于每个...休息

    每次我 打破 for each 结构 PHP Javascript 时 我都感觉很脏 所以像这样 JavaScript 示例 for object in objectList if object test true do some proc
  • 如何使用 PHP 从 Web 根目录外部提供文档?

    为了安全起见 我将一组文件和文件夹移动到 apache 服务器上的 Web 根目录之外 然后动态地为它们提供服务 这似乎比两种选择更好 让它们可以通过网络访问 只需创建一个 php 登录页面 该页面会添加到每个文件的前面 问题是它们并不都是
  • 如何将选择下拉列表转换为多个复选框?

    我想将下面的下拉代码转换为多选复选框值 我正在使用 WordPress 下面的代码来自第三方网站 我无权访问该第三方网站 因此 通过此功能 我可以在下拉菜单中提供多选选项 div class facilities span class la
  • 帮我用 PHP 解析这个文件

    Fri Nov 27 10 00 01 EST 2009 974 12506 Fri Nov 27 11 00 01 EST 2009 988 12655 Fri Nov 27 12 00 01 EST 2009 1005 12886 Fr
  • 命令“tinker”未定义

    从 5 3 升级到 5 4 后 请按照说明操作 为了继续使用 Tinker Artisan 命令 您还应该安装 laravel tinker 软件包 composer require laravel tinker 安装软件包后 您应该添加
  • php 无法连接到 mysql,错误为 13(但命令行可以)

    我在新安装的服务器中遇到了奇怪的情况 谷歌这次似乎无法帮助我 我无法从我的 php 代码连接到 远程 mysql 当我尝试从同一服务器上的命令行连接时 连接成功 无法连接 无法连接到 MYSQL SERVER 上的 MySQL 服务器 13
  • 谁添加“_”单下划线查询参数?

    我有一个在 Apache 上运行的 PHP 服务器 我收到很多类似这样的请求 10 1 1 211 02 Sep 2010 16 14 31 0400 GET request 1283458471913 action get list HT
  • 字符串替换多个值

    我有一个看起来像这样的字符串 布拉布拉 亚达亚达 布拉布拉 亚达亚达 有没有办法只替换前两个 或最后两个 以便我可以获得下一个输出 Bla bla a href link1 yada yada a bla bla yada yada 如有必
  • 无法创建可锁定文件 - Laravel 8 和 PHP 8

    我被困在 Laravel 项目中 我已经使用 Laravel 很多年了 但从未发生过这种情况 我正在使用 Vagrant 一如既往 并且只在 PHP 8 中发生这种情况 使用 php 7 X 的其他项目不会发生这种情况 USER 和 GRO
  • 更新 Bootstrap 缩略图网格 - ajax 请求

    设想 我有一个带有显示国家 地区的 Twitter Bootstrap 缩略图网格的视图 当用户单击一张图像时 它应该在同一网格 屏幕 中显示与该国家 地区相关的城市 技术的 首先 我用国家 地区填充 dataProvider 然后我应该将
  • 如何更新 Laravel 编辑视图中的图像?

    在 Laravel 中 我的编辑视图中有一个名为 个人资料图片 的字段 每当我单击 编辑 按钮时 我都会在编辑视图中从数据库中获取所有值 但没有获得图像 并且如果每当我每次单击 提交 按钮时 我都必须如果没有上传图像 我无法进一步处理我想要
  • CakePHP 与 Bootstrap(来自 Twitter)

    我是 CakePHP 的新手 我想知道一种在与蛋糕结合的布局中使用 Twitter 的 Bootstrap 的方法 我主要关心的是让 Form Helper 继续正常运行 因为我认为它使用预先配置的 CSS 类 如果我更改默认的 css 我
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • PHP - 获取类公共变量?

    请考虑下面的代码 class A public function construct class B extends A public a a public b b public c c 如何从父类中获取 B 类的公共变量而不确切知道它们是
  • PHP 在数组内循环

    我怎样才能在一个内部循环array在我的代码中 这是我的脚本的静态版本 val array array value gt Male label gt Male array value gt Female label gt Femal my
  • Laravel http 请求:无法运行多个请求

    我在 Laravel http 请求方面遇到了严重的问题 请帮我解决这个问题 我假设我有 2 个请求路由到相同的控制器 Req 1 http localhost 8000 manualScheduler runScript task nam
  • WordPress:wpdb->插入与wpdb->准备(wpdb->查询(“INSERT

    我想知道 WordPress 的插入功能是否也向数据添加斜杠 如果没有 准备查询方法似乎可以更好地防止 SQL 注入 我尝试在 codex api 中查找问题 然而 它似乎没有记录 谢谢 这个问题有点老了 自从提出这个问题以来 法典可能已经

随机推荐