Чтение XML-файла и запись в массив / файл php - PullRequest
1 голос
/ 24 февраля 2011

Мне нужно обновить список стран на моем веб-сайте, и я хочу автоматизировать процесс. Список стран можно найти здесь http://www.iso.org/iso/country_codes...code_lists.htm // Редактировать: Не могу найти хорошую ссылку ...

Я попробовал это так - http://www.w3schools.com/php/php_xml_parser_expat.asp (PHP XML Expat Parser) Однако, это, похоже, не сработало, так как я был озадачен, где на самом деле «взять» данные и распечатать их в своем собственном массиве для дальнейшего использования.

Теперь я хочу попробовать это, используя XML DOM .

Просто хочу уточнить у всех, был ли у меня простой XML-файл для чтения, который содержал код страны и название страны следующим образом:

<Entry> 
<Country_name>AFGHANISTAN</Country_name>
<Code_element>AF</Code_element>
</Entry>

Я хочу прочитать этот файл (метод DOM), а затем передать данные в отдельный мой файл / массив, к которому будет обращаться мой веб-сайт. Какие функции PHP xml ВЫ использовали / рекомендовали бы для выполнения этой простой задачи?

Любая помощь в этом отношении приветствуется.

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Использование SimpleXML

1 голос
/ 24 февраля 2011

как насчет

    $dom = new DOMDOcument();
    $dom->loadXML($xml);
    $xpath = new DOMXpath($dom);
    $res = $xpath->query("/CODE");
$allres = array();
foreach($res as $node){
        $result = array();
$result['country'] = ($node->getElementsByTagName("Country_name")->item(0)->nodeValue);
$result['code'] = ($node->getElementsByTagName("Code_element")->item(0)->nodeValue);
$allres[] = $res
}

в конце $allres массив будет содержать все ваши коды стран и имена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...