ниже является частью моего XML, где я пытаюсь получить данные, в основном мне нужно вставить их в массив, где «роль» является ключевым, а «entry» - значением.Получить данные из XML с PHP
Вот XML:
<CommunicationDetailList>
<CommunicationDetail>
<Role>Phone1</Role>
<Entry>727831333</Entry>
</CommunicationDetail>
<CommunicationDetail>
<Role>Mobile</Role>
<Entry>727834125</Entry>
</CommunicationDetail>
<CommunicationDetail>
<Role>Fax1</Role>
<Entry>123456789</Entry>
</CommunicationDetail>
<CommunicationDetail>
<Role>EMail1</Role>
<Entry>[email protected]</Entry>
</CommunicationDetail>
</CommunicationDetailList>
Это мой PHP код, Unfotunately он не работает правильно (добавить только первый не остальное, поэтому у меня есть доступ только к PHONE1):
//this is somewhere on top of my code
$doc = new DOMDocument();
//Load XML to DOM
$doc->loadXml($xml);
.
.
// here I parse rest of XML, where `<tags>` are unique
.
.
//and here is that important part
$communicationDetails = $doc->getElementsByTagName("CommunicationDetailList");
foreach($communicationDetails as $detail)
{
$keys = $detail->getElementsByTagName("Role");
$key = $keys->item(0)->nodeValue;
$values = $detail->getElementsByTagName("Entry");
$value = $values->item(0)->nodeValue;
//adding login and password to array
$data[$key] = $value;
}
Может кто-то помочь мне получить доступ к этому XML
_ «Unfotunately он не работает правильно» _ И почему он не правильно работает? Какие ошибки вы получаете? Проделали ли вы некоторую отладку, чтобы найти место возникновения ошибки? – Epodax
Привет @Epodax Я верю, что мы просто скучаем по другому, я редактировал вопрос, ответ на него находится в скобке, так что: Нет ошибки, но только первый ключ + значение добавляется в массив. – Andurit