问题标签 [domdocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 升级到 PHP 5.2.6 后的问题
我在这里陷入困境。我的 PHP 代码曾经可以工作,但自从我升级到 PHP 5.2.6 后,我现在得到:
这是来源:
在网上做了一些研究后,我发现Zend扩展可能是原因。这是我的 Zend 设置的样子。
该程序使用 Zend 脚本语言引擎:Zend Engine v2.2.0,版权所有 (c) 1998-2008 Zend Technologies 和 ionCube PHP Loader v3.1.34,版权 (c) 2002-2009,由 ionCube Ltd. 和Zend Extension Manager v1.2.0,版权所有 (c) 2003-2007,由 Zend Technologies 和 Zend Optimizer v3.3.3,版权 (c) 1998-2007,由 Zend Technologies
我已经在几个新的 Windows 系统上测试了这段代码,但都失败了。这让我相信大多数(如果不是很多)网络主机可能使用与我所拥有的类似的设置。根据我所阅读的内容,常见的解决方案是禁用 Zend 或注释掉php.ini
文件的特定区域。因为这是用于分发的脚本的一部分,所以我的大多数客户将无法直接访问,php.ini
也没有访问权限来修改 Web 服务器设置,例如 Zend 扩展。
我如何在代码中解决这个问题?有解决方法吗?或者有没有使用的替代方法DOMDocument
?
php - 可以将 HTML 内容添加到 SimpleXMLElement 节点
简单的问题。是否可以在SimpleXMLElement(或者事实上,DOMDocument )节点中添加一个 HTML 块,而无需将 HTML 数据自动转换为实体格式?
例如,使用以下代码片段(此处使用 DOMDocument,但 SimpleXMLElement 的行为完全相同):
输出是:
如果您查看源代码,您会看到:
... HTML 块自动转换为实体格式。
即使用 CDATA 包装块也无济于事,因为 CDATA 的尖括号也会被转换。
那么,有没有办法在不执行这种自动转换的情况下添加这样的 HTML 块?
谢谢,m^e
php - Reddit RSS 提要在通过 HTTP 请求时返回较少的项目?
我正在尝试从包含 25 个项目的 RSS 提要中读取数据。当我通过 HTTP 请求 RSS 文件时,它说只有 20 个项目。
我也尝试过来自其他 subreddit 的 RSS 提要,结果相同。
php - 为什么 DOMXPath 不起作用?
我一直在尝试编写一个 PHP 脚本来使用DOMXPath解析 XML 文档;但是,我似乎遗漏了一些东西,因为我的 XPath 查询都没有返回任何内容。所以我试图淡化我的脚本来尝试解析一个非常基本的 XML 文档,但这也不起作用。我基于这个 XPath 示例编写了这个脚本。
问题是我的 $result 的 var_dump总是返回如下内容:
...表明它什么也没找到。
php - 如何在php中取消嵌套列表
我有一个像这样的嵌套无序列表(简化版本/深度是可变的):
使用 PHP,有没有一种很好的方法可以在(对于这个例子)3 个列表中“分解”这个嵌套列表?
谢谢你的帮助
编辑 :
预期的输出将是:
php - 如何让 DOMDocument 对 ASCII 控制字符友好?
我正在解析的 HTML 文档包含一些 ASCII 控制代码。我注意到 PHP 的 DOMDocument 解析器在节点内找到 ASCII 控制字符时会截断文本节点,例如
Device Control 0x13
End of Medium 0x19
File Separator 0x1C
Group Separator 0x1D
这是错误还是功能?有没有办法让 DOMDocument 采取其他方式?我在 DOM 处理之前采取了删除这些字符的方法,但我想知道这是否是正确的解决方案。
php - 转储非 ASCII 字符时 DOMDocument 的不一致行为的解释是什么?
在使用 PHP和方法时,我注意到了不同的“转储”行为DOMDocument
。这是一个转储版权符号 (©) 的简单示例。saveXML()
saveHTML()
<?
$domDoc = new DOMDocument();
$domDoc->loadHTML("©");
echo $domDoc->saveHTML();
echo $domDoc->saveXML();
echo $domDoc->saveXML($domDoc);
?>
三个转储产生三种不同的输出:
第一个输出字符串©
第二个输出字符实体第三个输出版权符号 ( )©
的 UTF8 2 字节码U+00A9
为什么输出不同?有没有办法可预测性控制使用哪种方法?
php - 使用 XPath 和 DOMDocument 合并两个 XML 文档时出错
大约一年前,我编写了一个受 jQuery 启发的库,它允许您使用 PHP 的 XPath 和 DOMDocument 操作 DOM。我最近想清理它并将其作为一个开源项目发布。在过去的几天里,我一直在改进并实现更多 PHP 的原生 OO 功能。
无论如何,我想我会添加一个新方法,它允许您将单独的 XML 文档与当前文档合并。这里的问题是这个方法需要 2 个 XPath 表达式。第一个获取要合并到现有文档中的元素。第二个指定这些合并元素的目标路径。
该方法在从两个路径中获取匹配元素时效果很好,但是我在将外部元素导入当前 DOM 时遇到了问题。我不断收到可怕的“错误文档错误”消息。
我以为我知道我在做什么,但我想我错了。如果你看下面的代码,你可以看到我首先迭代当前文档的匹配元素,然后遍历外部文档的匹配元素。
在第二个嵌套循环中,我尝试将每个外部元素合并到当前文档中的目标路径中。
不确定我在这里做错了什么,因为我在附加之前明确将外部节点导入到当前文档中。
您可以在以下 Github 存储库中找到完整的库:
http://github.com/wilhelm-murdoch/DomQuery
哈普斯!!!
php - 格式化使用 PHP 创建的 XML 文档 - DOMDocument
我正在尝试以可视方式格式化我的 XML 文件在输出时的外观。现在,如果您去这里查看源代码,您将看到文件的样子。
我拥有的创建文件的 PHP 是:(注意,$links_array 是一个 url 数组)
通过查看源代码可以看出,该文件不像我希望的那样可读。我有什么办法可以格式化节点吗?
谢谢,
列维
soap - 使用经典 ASP 发送“应用程序/soap+xml”SOAP 请求
对此的任何帮助将不胜感激;我已经在这几天了。
以下是我到目前为止的代码;不幸的是,当我运行它时,我收到了 HTTP 415 错误;无法处理消息,因为内容类型为 'text/xml; charset=UTF-8' 不是预期的类型 'application/soap+xml; 字符集=utf-8'。
我必须发送 application/soap+xml 的内容类型,因为这是 Web 服务允许的唯一类型;我必须用经典的 ASP 来做。
我尝试将“发送”行更改为“objRequest.send objXMLDoc.XML”,但这给了我一个HTTP 400 错误请求错误。