问题标签 [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.

0 投票
1 回答
93 浏览

php - 遍历 html 搜索第一级块

除了我关于分析 html 和搜索<p> and <ul>/<ol>标签这个问题的其他问题。

这就是我有多远。将 $out 作为包含以下内容的数组的方法是什么:

提前致谢!我真的迷失在 domdocument 结构中。

0 投票
1 回答
2732 浏览

php - 带有 åäö 的 PHP DOMDocument (UTF-8)

我有一个带有表单的 HTML/PHP5 页面,然后当它发布时,它会创建一个 XML 文件,其中表单输入作为数据。

但所有åäö看起来就像我用过utf8_encode()它们一样。我不能utf8_decode(),因为我将 XML 文件发送到的“服务”抱怨不是 UTF-8(就像它应该的那样)。

解析器失败。原因:2:解析器错误:输入不正确的UTF-8,表示编码!字节:0xE5 0x73 0x61 0x2E

我已经尝试过 m ,而是像withb_convert_encoding()一样发送数据并在 php.ini 中进行了更改,但没有任何效果像预期的那样。CDATAhtmlentities()default_charset = "utf-8"

我应该怎么办?

0 投票
1 回答
1424 浏览

php - 如何从输出中排除 XML 序言?

我写$xml = new DOMDocument();,它会自动创建<?xml version="1.0"?>. 我不需要创建它。我怎么做?

一种解决方案是在第一个 < 找到的索引处搜索第一个 ">" 和 strsub。但我喜欢更好的方式来做到这一点。

0 投票
1 回答
419 浏览

php - DOMDocument 解析 (php)

我正在从 API 解析一个 xml 文件,该 API 已在 php 中转换为 DOMDocument。这大部分都很好,但我遇到的一个问题是当我这样做时:

作为 forall 语句的一部分,并且元素 extra 不存在于我在 forall 条件下迭代的一个提要项中,然后我得到一个错误。

我试过这个:

但我得到了错误

注意:当每个提要项中都包含“额外”元素时,代码运行完美。只是当其中一个提要项目不包含“额外”元素时,我才收到错误消息。

0 投票
2 回答
29880 浏览

php - PHP DOMDocument获取标签的属性

您好,我有一个 xml 格式的 api 响应,其中包含一系列项目,例如:

我想使用 DOMDocument 从标签“媒体:文件”中获取属性“数据”。我在下面的尝试不起作用:

我究竟做错了什么?请帮忙。

编辑:由于某种原因,我不能发表评论,马克。我得到错误

当我运行我的代码时。我也试过

其中 uri 是与媒体名称空间(NS)相关的 uri,但同样的问题。

请注意,媒体元素的形式不是我认为这是问题的一部分,因为我通常没有解析属性的问题。

0 投票
2 回答
9951 浏览

php - PHP DOMDocument,只需要第一项

您好,我过去使用过 DOMDocs,但我被困在如何做到这一点。

我只想要标签“数据”的第一个实例。通常我会写一个 foreach 循环:

对每个 feeditem 做我想做的事,但在这里我只想要第一个 $feeditem。$feeditem 不是一个数组,它是一个 DOMdoc 对象,所以我不能 $feeditem[0] 选择第一个“数据”标签。

感谢您对此的任何帮助。

0 投票
1 回答
1606 浏览

php - PHP DomDocument 用 HTML 保存 XML

如何保存使用 DomDocument 打开的 XML 文件,以使里面的 HTML 不会被编码为 HTML 实体?

0 投票
3 回答
14275 浏览

php - 如何使用 php 创建 XML 文件并提示下载?

我正在使用 domdocument 创建一个 xml 文件:

当我单击此文件的链接时,它只是将其显示为 xml 文件。如何提示下载?此外,我如何提示将其下载为“backup_11_7_09.xml”(插入今天的日期并将其作为 xml)而不是 php 文件的真实名称“backup.php”

0 投票
2 回答
6737 浏览

domdocument - PHP 命令行脚本忽略 php.ini 和 ini_set('memory_limit',...) 指令

我面临常见的“致命错误:内存不足(分配 30408704)(试图分配 24 个字节)......”PHP 致命错误。通过 Apache 提供的页面没有表现出这种行为。

我尝试了以下方法:

  1. 将 php.ini 中的 memory_limit 增加到更大的值。
  2. 通过调用ini_set('memory_limit', -1), ini_set('memory_limit', '-1'), ini_set('memory_limit', 100000000),ini_set('memory_limit', '128M')等来增加脚本本身的 memory_limit。
  3. unset()ing 不需要的数组和对象,以鼓励垃圾收集器释放内存。
  4. 联系网络主机。他们通常非常有能力和知识渊博,但也无法帮助我解决这个问题。
  5. 我已经尝试使用-c命令行标志明确包含一个 php.ini 文件,以手动选择具有各种值的特定 php.ini 文件。
  6. 我尝试使用原始字节数和值(例如 64M、128M 等)在 php.ini 中设置 memory_limit。
  7. 托管服务提供商能够以 root 身份运行脚本而没有任何问题,但在使用非 root 用户运行脚本时遇到了同样的问题。也许涉及某种权限问题?

无论我尝试什么,错误消息都是一样的。看来我的命令行脚本忽略了对memory_limit.

我倾向于尝试确保我的脚本具有内存效率,但我目前需要通过简单的 HTML DOM解析大量的 HTML,并且在解析器中我遇到了内存不足的问题。为了减少脚本的内存占用,我尝试使用DOMDocument代替。这也无济于事。事实上,内存不足错误现在在脚本的其他地方触发。

我的问题:有没有人遇到过这个或类似的问题?你有什么建议?

谢谢你。

0 投票
2 回答
21961 浏览

php - DOMElement 克隆和附加:“错误的文档错误”

关于使用 PHP 的 DOM api 进行节点克隆,我并不完全了解。这是一个示例文件,可以快速复制我遇到的问题。

当您运行这个小片段时,会引发异常

致命错误:未捕获的异常“DOMException”和消息“错误文档错误”

我不能从文档中抓取一个节点,克隆它,然后将它附加到另一个文档吗?