PHP XML解析器使密钥大写

时间:2016-08-28 12:27:01

标签: php xml

我有这个XML -

<SimpleData>Some data</SimpleData>

我正在使用 -

将上述XML转换为数组
$p = xml_parser_create();
xml_parse_into_struct($p, $xml, $array);
xml_parser_free($p);
print_r ($array);

我得到了这个输出 -

Array
(
    [0] => Array
        (
            [tag] => SIMPLEDATA
            [type] => complete
            [level] => 1
            [value] => Some data
        )

)

问题是 [tag] 会将值设为 SIMPLEDATA 。但我不希望它被大写。 它应该与XML中的相同。

如何纠正?

1 个答案:

答案 0 :(得分:3)

在创建解析器后立即禁用大小写折叠:

$p = xml_parser_create();

xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0); // <-- disable case folding

xml_parse_into_struct($p, $xml, $array);
xml_parser_free($p);

print_r ($array);

输出:

Array
(
    [0] => Array
        (
            [tag] => SimpleData
            [type] => complete
            [level] => 1
            [value] => Some data
        )

)