Я следующий файл XML называется «cookie_domain.xml» с содержимым:PHP SimpleXML Загрузить файл с нулевыми элементами
<?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');
Проблема заключается в том, что я хочу, чтобы элемент 'setting' был нулевым, как указано в XML, но то, что я получаю от объекта, когда я превращаю его в массив, составляет:
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? Так что я бы в конечном итоге с:
Array
(
[parameter] => cookie_domain
[displayname] => Cookie Domain
[grouping] => Sessions
[selecttype] => text
[setting] =>
[help] => Domain that the cookie is valid for
)
Я использую эту информацию, чтобы импортировать в базу данных и объект вызывает вопросы, как я нужен элемент, чтобы быть там, даже если это «пустой», как это справедливо в моей заявке.
Большого спасибо,
Рассел
Как (и почему) вы превращаете его в массив? SimpleXML - это * не *, предназначенный для анализа XML в массиве, он представляет собой подобный массиву (а также объектно-подобный) API для проанализированного XML. – IMSoP