使用DOM获取XML标记的内容

时间:2010-08-05 14:33:00

标签: php xml dom

我需要使用PHP获取标记的内容(在XML文件中)并将它们保存在MySql数据库中。

我的主管让我使用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>

3 个答案:

答案 0 :(得分:2)

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'代码以插入数据库应该是微不足道的。

Basic usage of DOM has been covered extensively on StackOverflow,因此您在查找further usage examples (linked are mine)时不会遇到问题。

答案 1 :(得分:0)

尝试使用SimpleXml。这样,您可以使用foreach循环遍历BIEN,并获取$sitecode = $biens->CODE_SITE

等项目

答案 2 :(得分:0)

使用SimpleXML,它很容易使用。

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