PHP DOM:更改现有 DOMDocument 的文档类型

2024-01-08

创建 DOMDocument 时DOMImplementation::createDocument() http://www.php.net/manual/en/domimplementation.createdocument.php,您可以指定文档类型作为构造函数中的第三个参数。然后,此文档类型会“绑定”到文档,您可以稍后使用以下命令检索它$document->doctype.

但是,这是一个只读属性(与编码和版本不同!)。

有没有办法更改现有 DOMDocument 对象的 doctype 属性?

我能想到的唯一解决方法是使用新的文档类型创建一个新的 DOMDocument,然后导入然后复制旧文档中的内容。


事实证明,在 PHP 中(因此,我猜在 libxml 中),您可以使用以下方法向现有文档添加和删除 DOMDocumentType 对象,就像常规节点一样$document->insertBefore() and $document->removeChild(), etc.

似乎工作正常 - 更改它会更改 $document->doctype 值和所有内容。但它完全没有文档记录,并且与 W3 DOM 标准相矛盾,该标准表示它不应该是可能的(至少在 DOM Level 2 中)。但很高兴知道您可以用 PHP 来完成它。

一个缺点是 saveHTML() 无法“看到”新的文档类型,尽管 saveXML() 可以。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP DOM:更改现有 DOMDocument 的文档类型 的相关文章

  • 使用PHP套接字发送和接收数据

    我正在尝试通过 PHP 套接字发送和接收数据 一切正常 但是当我尝试发送数据时 PHP 不发送任何内容 Wireshark 告诉我发送的数据长度为 0 我正在使用这段代码
  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • 使用 DOJO 自动完成文本框

    我正在寻找一种使用 DOJO 进行文本框自动建议的简单方法 我将查询的数据库表 使用 PHP 脚本 以 JSON 形式返回 有超过 100 000 条记录 因此这确实不应该采用 FilteringSelect 或 ComboBox 的形式
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 获取点击的的DOM路径

    HTML div class lol a class rightArrow href a div 伪代码 rightArrow click function rightArrowParents this dom dom is the pse
  • 如何从字符串中删除所有数字?

    我想删除字符串 0 9 中的所有数字 我写了这段有效的代码 words preg replace 0 words remove numbers words preg replace 1 words remove numbers words
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function
  • “pdo_mysql”已禁用,我无法启用它。我在 iMac 7.1 OSX 10.6.8 上安装了 MAMP v. 3.0.4

    pdo mysql 已禁用 我无法启用它 我在 iMac 7 1 OSX 10 6 8 上安装了 MAMP v 3 0 4 在我的 phpinfo 页面上 我可以看到唯一启用的 PDO 是 sqlite 如果我查看 php 5 5 10 扩
  • PHP - 扩展 __construct

    我想知道你是否可以帮助我 我有两个类 一个扩展了另一个 B 类将由各种不同的对象扩展 并用于常见的数据库交互 现在我希望 B 类能够处理其连接和断开连接 而无需来自 A 类或任何外部输入的指示 据我了解 问题是扩展类不会自动运行其 cons
  • 如何确定当前使用哪个网格选项

    我将 Bootstrap 3 用于使用 PHP 和 HTML 创建的网页 随着响应式网格和类的开启引导程序3您可以将多个类分配给一个 div 以根据当前屏幕尺寸定义不同的宽度 例如 div class col lg 3 col md 3 c
  • 包含包含文件的 php 文件

    这是目录结构 global php includes class bootstrap php includes init php plugins myplugin php 这是这些文件中的代码 start php require inclu
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • 将数据库中的用户 ID 添加到 Codeigniter 中的会话数据中?

    我是 CodeIgniter 的新手 在从数据库添加用户 ID 用户登录后 到会话数据时遇到问题 这是我的代码问题 之前可能会在 SOF 上被问到 在付出了所有努力之后 我问这个 登录模型
  • 创建 Facebook 测试用户时访问令牌出现问题

    我正在尝试为我的 Facebook 应用程序创建测试用户 他们在 11 月份的博客文章 http developers facebook com blog post 429 中宣布了此功能 并在此处记录了该功能 http developer
  • 尝试获取 Google accessToken

    看起来 无论我做什么 谷歌都在竭尽全力阻止我完成这个研究项目 我的项目让我使用 Google 电子表格作为数据库 并使用所述电子表格中的数据执行程序化的 Google 图片搜索 并向最终用户显示一些结果 设置说明 我开始按照此处的说明进行操
  • PHP 错误警告:参数 1 应该是引用

    我 熟悉 PHP 我的朋友的网站因错误而崩溃 Warning Parameter 1 to Some function name expected to be a reference value given in public html i
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1

随机推荐

  • CSS 指针事件 – 接受拖动,拒绝点击

    太棒了 我需要一个元素来注册拖放指针事件 但将单击和其他指针事件传递给其后面的元素 我正在使用 React 构建拖放照片上传功能react dropzone https react dropzone netlify com 我想要dropz
  • 无法在 View SQL Server 2005 上执行删除

    我无法对视图执行删除 各个桌子上的一切都运行良好 EDIT1 添加触发器 CREATE TRIGGER myTrigger ON ViewName INSTEAD OF DELETE AS DELETE FROM ViewName WHER
  • 在 PyTorch 中使用焦点损失处理不平衡数据集

    我发现这个实现focal loss在 GitHub 中 我使用它来解决不平衡数据集二元分类问题 IMPLEMENTATION CREDIT https github com clcarwin focal loss pytorch class
  • 在 Android 模拟器中安装 Android 版 Chrome

    我想在 Android 模拟器 运行 Windows 7 64 位 上安装 Android 版 Chrome 我尝试从模拟器访问 Google Play 市场 但它不允许我安装 我尝试安装适用于 Android 的 chrome APK 从
  • 空值powershell数组

    我有一个奇怪的问题 这是我的 CSV Serveur Carte Cordon IP Mac Vmnic Vmnic mac Connect Port Dexter eth1 405 172 16 5 117 00 24 e8 36 36
  • 是否可以使用 CSS 在边距之外添加边框?

    我很确定已经有人问过这个问题了 但我在谷歌或这里找不到它 我只是好奇 CSS 在这方面的局限性 是否可以使用 CSS 在边距之外添加元素的边框 基本上 我希望将边框放置在边距之外 而不是填充之外 我了解盒子模型在 CSS 中的工作原理 因此
  • Looper如何知道将消息发送给Handler?

    问题是 我告诉我的线程使用mHandler为了Looper 谢谢 我正在使用下面的代码 class LooperThread extends Thread public Handler mHandler public void run Lo
  • 如何使用 TFS 离线工作

    我们的 TFS 服务器目前存在一些临时连接问题 因此 VS 没有响应 导致 50 多名开发人员无法工作 如果出现此类问题 是否可以将 TFS 切换到离线模式 看到这个参考 http msdn microsoft com en us libr
  • 如何在 AWS Amplify/AppSync React 应用程序中正确处理未经身份验证的用户和请求?

    我很难弄清楚如何在使用 AWS Amplify 和 AWS AppSync 的 React 应用程序中处理未经身份验证的用户 似乎大多数文档建议将整个应用程序包装起来withAuthenticatorHOC 来自aws amplify re
  • Bootstrap 手风琴,单击时滚动到活动(打开)手风琴的顶部?

    我正在使用 Bootstrap 制作一个响应式网站 它包含带有大量文本的手风琴 当您读到底部并单击下一个手风琴时 大量文本被折叠 我留在页面底部 我发现这个有用的代码Bootstrap 手风琴滚动到活动面板标题的顶部 https stack
  • 从 IE 获取用户名,以针对 LDAP 进行身份验证

    用户将仅使用 IE 并且在 IE 中 如果他们登录到域控制器 则可以在没有提示的情况下传递他们的凭据 我想知道的是 我该如何获取他们的用户名 我认为这可以解决问题 SERVER auth user 但没有运气 像这样您可以在 PHP 中获取
  • Angular 2+ - 检查 Pipe 是否返回原始列表的空子集

    我有一个要迭代的字符串列表 但我希望能够使用搜索词过滤它们 像这样 div item div 我的问题是 如何检查管道是否返回列表的空子集 换句话说 如果没有任何字符串与搜索词匹配 我想显示一条消息 没有匹配项 div No matches
  • 加载时淡入延迟

    我偶然发现了一些非常好的东西 我想在即将到来的项目中使用 这是加载时的动画不透明度 或者您可以将其称为淡入 我想知道你是否可以将一些元素链接在一起 例如 3 element2仅在以下时间开始element1完成了 并且element3当没有
  • 在 Ubuntu 18.04 上安装 Ruby 2.3.x 在安装过程结束时导致错误

    我最近将系统更新到了 Ubuntu 18 04 LTS 从那时起 Ruby 版本似乎已经更新到了 2 5 问题是 当尝试部署使用 Capistrano 的项目时 它现在会抱怨找不到 Ruby 2 3 运行时尝试安装的版本rvm instal
  • 将 Docker-Machine 与 Amazon EC2 集成

    我正在阅读这篇文章 它向我展示了如何在 amazon ec2 之上配置我的 docker VM https docs docker com machine drivers aws https docs docker com machine
  • 在打字稿模块内扩展全局类型(例如“Window”)

    如果您使用打字稿编写并且不使用模块 则可以扩展全局Window目的 例如 这样编译 interface Window myCounter number window myCounter window myCounter 0 window m
  • 我不知道如何让我的玩家在接触敌人时死亡

    就像标题所说 我不知道如何让我的玩家在敌人接触他时死亡 我已经查过了 但我仍然无法弄清楚这一点 有什么想法吗 跳过下一部分 希望我在这里放更多东西 但显然没有说到重点 ulahtluihliukhrefluijaheuflhawuleifh
  • 实例化一个 TypeVar 类型

    作为一名 C 程序员 以下代码对我来说似乎很自然 但它无法运行 from typing import TypeVar Generic List NewType TPopMember TypeVar TPopMember Population
  • 在嵌入式 x86 程序集中使用数组?

    我有一个方法 C 它返回一个字符并采用一个字符数组作为其参数 我第一次搞乱汇编 只是试图返回 dl 寄存器中数组的第一个字符 这是我到目前为止所拥有的 char returnFirstChar char arrayOfLetters cha
  • PHP DOM:更改现有 DOMDocument 的文档类型

    创建 DOMDocument 时DOMImplementation createDocument http www php net manual en domimplementation createdocument php 您可以指定文档