将xml从字符串加载到数组时发生未定义的错误

kacper3w

我有一个通过桌面应用程序通过POST收到的非常简单的xml:

<?xml version="1.0" encoding="utf-8"?>
<root>
<receipt status="1" id="PAR/2" idreceipt="1" date="YYMMDD" errorstr="" />
<receipt status="1" id="PAR/2/2" idreceipt="2" date="YYYY-MM-DD HH:II:SS" errorstr="" />
<receipt status="0" id="PAR/2/3" idreceipt="3" date="YYYY-MM-DD HH:II:SS" errorstr="ERROR" />
</root>

我将其保存到变量,然后尝试使用将其加载到数组simplexml_load_string($string)var_dump($xml)返回false。我知道没有内容,但是当我尝试在每张收据上print_r使用属性时foreach,它也是空的。xml格式不正确,还是我在PHP中缺少某些内容?

整个PHP:

$string = $_POST['results'];
$xml = simplexml_load_string($string);
foreach ($xml->receipt as $value) {
print_r($value);
} 
kacper3w

因此,我已经尝试了几乎所有内容-使用Ako提供的解决方案重新安装该模块,但没有成功。事实证明,我的服务器在处理POST时将每个特殊字符转换为字符实体,并且解析器无法使用&lt;&gt;而不是实际将字符串识别为有效的XML,< >因此我添加了:

$string = html_entity_decode($string);

而且效果很好。希望这对其他人有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尝试将数据加载到数组时未定义数组

将数组转换为字符串时,数组中的“空”和“未定义”在哪里?

AngularJS:将XML字符串加载到XML文档

如何将未定义的数组转换为字符串数组

将字符串加载到数组中

将字符串加载到numpy记录数组中

Canot将字符串加载到javascript数组中

在JavaScript中将数组转换为字符串时,请删除未定义的元素

数组返回“未定义” GAS的字符串

拆分字符串数组后未定义(JavaScript)

数组字符串显示为未定义

从JSON字符串提取数据时出现未定义的属性错误?

Jasper字符串函数方法未定义错误

拆分字符串返回未定义的错误

JSON“预期的字符串未定义”错误

尝试查找长度时字符串未定义

将未定义更改为空字符串

未定义字符串时如何避免在字符串中出现“未定义”

Angular:访问 *ngFor 循环中的对象数组时出现问题,而字符串插值在 html 中显示数据,但错误 ctx 在控制台中未定义

将数组强制转换为字符串枚举器时发生运行时错误

计算数组中未定义的空字符串,空字符串的总数

为什么在后续页面重新加载时未定义此 NextJS 查询字符串?

如何直接将xml字符串加载到数据集?而不是从xml文件加载?

JavaScript字符串未定义

将连接的数字作为字符串存储在2D数组中。结果仍然是“未定义”

将数据范围或字符串从Excel文件加载到数组,然后拆分为数组

整数到字符串,如何解决以下错误:“ TypeError:无法将未定义转换为对象”?

如何将json字符串转换为ko.observableArray([]),它们得到未定义的错误数据?

将字符串拆分为字符串向量时发生无效的转换错误