gpt4 book ai didi

缺少 php SimpleXML 属性

转载 作者:可可西里 更新时间:2023-11-01 13:55:21 25 4
gpt4 key购买 nike

我这里有以下 xml 文档:编辑:(示例见下文)

我正在使用 php/SimpleXML 将其转换为对象以读取它:

$xmlContent = file_get_contents($path . '/test.xml');
$tablesRaw = new SimpleXMLElement($xmlContent);
echo '<pre>';
print_r($tablesRaw);
echo '</pre>';

当我打印_r 时,我看到字段的属性,但不显示可接受值的属性。这是原始 xml 的示例(我需要 value 属性):

<acceptable-value value="0">
Unknown
</acceptable-value>

这是我在 print_r 时看到的:

[acceptable-values] => SimpleXMLElement Object
(
[acceptable-value] => Array
(
[0] =>
Unknown

[1] =>
Invalid

[2] =>
Deleted

[3] =>
Valid/Good

[4] =>
Inactive

)

)

属性没有显示的任何线索?提前致谢。

编辑:请求一些 xml:

<field name="Address1Type" type="String"/>
<field name="Address2Street1" type="String"/>
<field name="Address2Street2" type="String"/>
<field name="Address2Type" type="String"/>
<field name="Address3Street1" type="String"/>
<field name="Status" type="Integer" access="R">
<acceptable-values>
<acceptable-value value="0">
Unknown
</acceptable-value>
<acceptable-value value="1">
Invalid
</acceptable-value>
<acceptable-value value="2">
Deleted
</acceptable-value>
<acceptable-value value="3">
Valid/Good
</acceptable-value>
<acceptable-value value="4">
Inactive
</acceptable-value>
</acceptable-values>
</field>

最佳答案

这里的简单答案是不要将 print_r() 与 SimpleXML 对象一起使用。因为它们是非 PHP 数据的包装器,所以通常会显示“整个”对象的函数并不能真正反射(reflect)您正在查看的内容。

使用 SimpleXML 访问属性的方法是像使用数组键一样使用属性名称 ($node['attribute']);这确实意味着某处有一个包含该键的数组,它是伪装的函数调用。

如果您想了解在编写 SimpleXML 代码时正在查看哪些节点,请查看 this simplexml_dump() function这是我写的(欢迎反馈)。

关于缺少 php SimpleXML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com