Мне нужно взять содержимое тегов (в XML-файле) и сохранить их в базе данных MySql, используя PHP.
Мой руководитель попросил меня использовать DOM, но все Я не работаю.
Мой 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>
Базовый пример использования вашего 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 , поэтому у вас не должно возникнуть проблем с поиском дальнейших примеров использования (ссылки - мои) .
Используйте SimpleXML, он довольно прост в использовании.
Попробуйте использовать SimpleXml. Таким образом, вы можете просто зациклиться на BIEN с foreach и получить такие элементы, как $sitecode = $biens->CODE_SITE