问题标签 [simplexml]

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 投票
5 回答
33127 浏览

php - 让 SimpleXMLElement 在输出中包含编码

这个:

...输出:

但我也希望它输出编码:

有没有办法告诉 SimpleXMLElement 包含 <?xml?> 标记的编码属性?除了这样做:

哪个有效,但是必须手动指定版本和编码很烦人。

出于这个问题的目的,假设我不能使用 DOMDocument 代替。

0 投票
6 回答
51899 浏览

php - 循环一个 SimpleXML 对象,或者把整个对象变成一个数组

我正在尝试解决如何通过返回的 SimpleXML 对象进行迭代。

我正在使用一个名为Tarzan AWS的工具包,它连接到 Amazon Web Services(SimpleDB、S3、EC2 等)。我专门使用 SimpleDB。

我可以将数据放入 Amazon SimpleDB 服务,然后我可以取回它。我只是不知道如何处理返回的 SimpleXML 对象。

Tarzan AWS 文档是这样说的:

查看响应以浏览响应的标头和正文。请注意,这是一个对象,而不是数组,并且主体是一个 SimpleXML 对象。

以下是返回的 SimpleXML 对象的示例:

那么我需要什么代码来遍历每个对象项?我想遍历它们中的每一个并像返回的 mySQL 查询一样处理它。例如,我可以查询 SimpleDB,然后通过 SimpleXML 循环,这样我就可以在页面上显示结果。

或者,你如何将整个 shebang 变成一个数组?

我是 SimpleXML 的新手,所以如果我的问题不够具体,我深表歉意。

0 投票
1 回答
566 浏览

php - 使用 simplexml_load_file 我想区分超时和 404 错误

我目前正在使用:

在我的代码中,如果页面超时,我想重试,但如果找不到页面(404),我想将它添加到未找到页面的列表中。

如果我能区分这两种类型的错误,我可以做剩下的事情。

出于好奇,您可以使用以下代码获取状态代码:

但是因为我想做卷曲做得更好。

0 投票
1 回答
493 浏览

php - 如何从 PHP 中解析作为 text/xml 发送到服务器的 XML?

我有一个用 jQuery 编写的客户端脚本,它将文本/xml 数据发送到服务器,但我不知道如何解析请求,因为数据不是查询字符串变量。jQuery 看起来像这样:

xmlDoc 是有效的 XML 文档。我已经尝试了 PHP 中的所有内容,但我无法使用 simplexml 获取任何节点或内容。

0 投票
1 回答
2757 浏览

php - How do I rearrange XML nodes in PHP with SimpleXML?

I'd like to rearrange elements in the file, I do not want to use another attribute for element ordering/arrangement.

0 投票
2 回答
34040 浏览

php - SimpleXML:选择具有特定属性值的元素

在 XML 文档中,我有共享相同名称的元素,但属性的值定义了它是什么类型的数据,我想从文档中选择所有具有特定值的元素。我是否需要使用 XPath(如果需要,您能建议正确的语法)还是有更优雅的解决方案?

这是一些示例 XML:

我想选择who's type is的所有<data>标签子项的内容。<object>me

PS - 我正在尝试使用 PHP 与 Netflix API 进行交互 - 这对我的问题来说无关紧要,但如果你想提出一个好的/更好的方法,我会全力以赴。

0 投票
3 回答
517 浏览

php - 有条件的 SimpleXML 可能吗?

我正在使用 SimpleXML 从 XML 文件中提取内容。

我想知道是否可以根据节点的内容显示某个节点,例如

SimpleXML 能否找到特定的标题,然后显示该标题的文章?

显示标题为“PHP”的文章。

我真的希望这是可能的。

感谢任何回复的人。

0 投票
2 回答
1292 浏览

php - PHP在simplexml print_r上返回页面错误

当我尝试执行 DocumentDOM/SimpleXML 方法时,问题仅发生在一个文件上,因此问题似乎出在该文件上。不知道它可能是什么。

如果我执行以下操作:

在 Chrome 中,我收到“页面不可用”错误。在 Firefox 中,我什么也得不到。

如果我对“test2.html”做同样的事情,我会按预期打印出来。

如果我尝试同样的事情但这样做:

我得到同样的问题。

如果我注释掉 print_r 行,Chrome 会从“页面不可用”变为空白。

我将权限更改为 777,以防出现问题,无法修复。

我尝试简单地回显 html 的内容,完全没有问题。

关于为什么 a) Chrome 会这样做,以及 b) 为什么我没有得到任何可用结果的任何线索?


更新:

如果我输入: $file = "test1.html"; $dom = DOMDocument::loadHTMLFile($file); if(!$dom) { echo "空载!"; } 其他 { $xml = simplexml_import_dom($dom); print_r($xml); }

我得到同样的问题。如果我输入:

我得到“加载!” 输出,这意味着 dom 方法不应该是问题(?)

我将尝试使用 simplexml 进行相同的测试。


更新2:

如果我这样做:

我得到同样的问题。如果我输入:

我得到“加载!” 但如果我这样做:

我得到了错误。我终于注意到我可以选择在 Chrome 中查看错误:

麻烦的html文件是288Kb。这可能是问题吗?如果是这样,我将如何调整?


最后更新:

很奇怪。我可以在对象上使用方法和函数(如 simplexml 或 domdocument),所以我可以执行 xpath 之类的操作来删除或解析 html 等。在某些情况下(小结果)它可以回显结果,但对于大的东西(显示所有跨度),它以同样的方式失败。

因此,由于最终结果,我认为将适合这些参数,我应该没问题(我猜)。

但是任何真正的解决方案都非常受欢迎。

0 投票
2 回答
1383 浏览

php - 简单的 XML 在客户端服务器上不起作用

我使用 simpleXML 构建了一个站点以从 XML 页面中提取内容。

我刚刚将站点切换到客户端服务器,从 XML 表中提取的页面不再起作用。

测试服务器是 PHP 版本 5.2.9

客户端服务器是 PHP 版本 5.2.5

allow_url_fopen两台服务器都打开。

有任何想法吗?

0 投票
1 回答
788 浏览

php - 使用 SimpleXML 输出 XHTML 时奇怪的东西

我正在尝试使用 SimpleXML 输出格式正确的 XHTML 文档。我这样做是这样的:

创建文档后,我想输出可读性很强的代码,所以我使用这样的 DOM 模块:

现在,有两件奇怪的事情困扰着我,我想知道这种行为是否正常以及如何禁用它,如果可能的话。

  1. DOCTYPE 的存在导致$pbDoc->asXML()在开始标记之后添加一个不需要的元<head>标记:

    为什么?

  2. 出于某种原因,DOM 模块根本不为我缩进代码(尽管它对不同的文档(即 XML,而不是 XHTML)做得很好)。

谁能告诉我我可能错在哪里以及如何摆脱这些烦恼?