php - simplexmlelement 上的 json_decode/encode 添加数组而不是空字符串

标签 php xml simplexml json

当加载一个xml文档并使用转换为数组时

json_decode(json_encode(simplexml_load_string($xml)), 1);

所有空的 xml 节点 ( <node /> ) 都被转换为 array() 我希望它们是一个空字符串。我是否需要遍历所有元素并将每个空节点替换为其他内容?

我正在使用 $xml = new SimpleXmlElement($this->feed_uri, LIBXML_NOBLANKS | LIBXML_NOEMPTYTAG , true); 加载 xml 文档

最佳答案

您无法自动完成该操作。因此,您需要在转换后将空数组替换为空字符串。

顺便说一句,LIBXML_NOEMPTYTAG 在这里没有意义:

This option is currently just available in the DOMDocument::save and DOMDocument::saveXML functions. http://ua1.php.net/manual/en/libxml.constants.php

关于php - simplexmlelement 上的 json_decode/encode 添加数组而不是空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865308/

相关文章:

php - Pdo select 查询以不适当的方式返回列值(unicode 问题)

php - 使用 PHP 和 fsockopen() 将文件上传到 Google 代码托管

python - 将元素添加到标题

php - 从 SimpleXML 对象到数组的递归转换

php - 在 PHP 中修改 ![CDATA[]] ? (XML)

php - SimpleXML 解析多个同名标签

php - phpbb3 论坛上的单独 mysql 查询不返回任何内容(mysql 在服务器上,但 phpbb 没有使用它)

php - 需要帮助使用 preg_match 修复数据库中文章中的链接

android - TableRow 的单个子级不会延伸到 match_parent

java - 如何解码 base 64 数据