Возьмите содержимое тегов XML с помощью DOM - PullRequest
1 голос
/ 05 августа 2010

Мне нужно взять содержимое тегов (в файле XML) и сохранить их в базе данных MySql, используя PHP.

Мой руководитель попросил меня использовать DOM, но все, что я делаю, - нетworkin '.

Мой XML-файл выглядит так:

<?xml version="1.0" encoding="windows-1252"?>
<BIENS>
<BIEN>
   <CODE_SOCIETE>0024</CODE_SOCIETE>
   <CODE_SITE>02</CODE_SITE>
   <TYPE_OFFRE>1</TYPE_OFFRE>
   <NO_ASP>3637017</NO_ASP>
   <NO_DOSSIER>00059</NO_DOSSIER>
   <NO_MANDAT>6523</NO_MANDAT>
</BIEN>
<BIEN>
....
</BIEN>
</BIENS>

Ответы [ 3 ]

2 голосов
/ 05 августа 2010

Пример базового использования вашего XML для итерации по всем элементам BIEN и его дочерним узлам:

$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load('file.xml');
foreach($dom->getElementsByTagName('BIEN') as $bien) {
    foreach($bien->childNodes as $childNode) {
        echo $childNode->tagName . '=>' . $childNode->nodeValue . PHP_EOL;
    }
}

Должно быть тривиально обменять код echo 'для вставки в вашу базу данных.

Базовое использование DOM широко освещалось в StackOverflow , поэтому у вас не должно возникнуть проблем с поиском дальнейших примеров использования (связанных с моим) .

0 голосов
/ 05 августа 2010

Используйте SimpleXML, его довольно просто использовать.

http://www.php.net/manual/en/simplexml.examples-basic.php

0 голосов
/ 05 августа 2010

Попробуйте использовать SimpleXml.Таким образом, вы можете просто зациклить BIEN с помощью foreach и получить такие элементы, как $sitecode = $biens->CODE_SITE

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