当前位置: 首页 > 面试题库 >

php SimpleXML属性丢失

弓俊晖
2023-03-14
问题内容

我在这里有以下xml文档:编辑:(请参见下面的示例)

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

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

当我使用print_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数据的包装器,所以通常会显示“整个”对象的函数实际上并不能真正反映您所查看的内容。

通过SimpleXML访问属性的方法是使用属性名称,就像它是数组键($node['attribute'])一样。但这 并不
意味着有一个数组的地方使用该密钥,这是一种变相的函数调用。

如果您想在编写SimpleXML代码时了解正在查看的节点,请查看我编写的此simplexml_dump()函数(欢迎反馈)。



 类似资料:
  • 在使用Jackson反序列化Json时,当Json文件中缺少属性时,是否有方法指定默认值

  • 问题内容: 我正在使用JavaScript从隐藏字段中提取值并将其显示在文本框中。隐藏字段中的值被编码。 例如, 被拉入 通过一些jQuery从隐藏字段中获取值(在这一点上,我失去了编码): 问题是,当我从隐藏字段读取内容时,JavaScript似乎丢失了编码。我不希望值是。我希望保留原义。 是否存在将对字符串进行HTML编码的JavaScript库或jQuery方法? 问题答案: 编辑: 此答案

  • 当我使用Jackson ectivtMapper将有效负载序列化为字符串值时,我很难获取要维护的泛型属性的类型信息。 我想要达到的结果如下。 我实际得到的结果如下(注意TestClassA缺少@type信息)。 我使用的测试是: “test JSON编组”测试中有两个版本。注释掉的版本和未注释的版本都会产生完全相同的结果。 第二个测试验证TestClassA本身是否生成了正确的类型信息。 只有当包

  • 问题内容: 我正在使用JavaScript从隐藏字段中提取值并将其显示在文本框中。隐藏字段中的值被编码。 例如, 被拉入 通过一些jQuery从隐藏字段中获取值(在这一点上,我失去了编码): 问题是,当我从隐藏字段读取内容时,JavaScript似乎丢失了编码。我不希望值是。我希望保留原义。 是否存在将对字符串进行HTML编码的JavaScript库或jQuery方法? 问题答案: 编辑: 此答案

  • 问题内容: 是HTML的属性吗? 我应该做还是 我读了很多文章,但仍然感到困惑。 有人可以向我解释一下HTML / JS中的属性与属性之间的区别是非常简单的吗? 问题答案: 属性由HTML定义。属性(在DOM元素上)由DOM(以及HTML 5定义,模糊了标记和DOM之间的边界)。 一些HTML属性具有1:1映射到属性。就是这样的一个例子。 有时名称是不同的。该属性映射到该属性,该属性映射到该属性(

  • 本文向大家介绍innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解,包括了innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解的使用技巧和注意事项,需要的朋友参考一下 innerHTML属性用来读取或设置某个节点内的HTML代码。 outerHTML属性用来读取或设置HTML代码时,会把节点