【发布时间】:2013-08-20 11:35:29
【问题描述】:
我有以下名为“cookie_domain.xml”的 XML 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<setting>
<parameter>cookie_domain</parameter>
<displayname>Cookie Domain</displayname>
<grouping>Sessions</grouping>
<selecttype>text</selecttype>
<setting />
<help>Domain that the cookie is valid for</help>
</setting>
我使用以下方法加载到对象中:
$xml_object = simplexml_load_file('cookie_domain.xml');
问题是我希望“设置”元素为 XML 中指定的 null,但是当我将其转换为数组时,我从对象中得到的是:
Array
(
[parameter] => cookie_domain
[displayname] => Cookie Domain
[grouping] => Sessions
[selecttype] => text
[setting] => SimpleXMLElement Object
(
)
[help] => Domain that the cookie is valid for
)
有没有办法让 SimpleXML 尊重“null”值,而不是在其中放置一个“SimpleXMLElement Object”?所以我最终会得到:
Array
(
[parameter] => cookie_domain
[displayname] => Cookie Domain
[grouping] => Sessions
[selecttype] => text
[setting] =>
[help] => Domain that the cookie is valid for
)
我正在使用此信息导入数据库,并且对象导致问题,因为我需要元素存在,即使它是“null”,因为这在我的应用程序中有效。
非常感谢,
罗素
【问题讨论】:
-
你如何(以及为什么)将它变成一个数组? SimpleXML不是设计用于将 XML 解析为数组,它为解析的 XML 提供了一个类似数组(也类似对象)的 API。