【问题标题】:Take the content of the XML tags using DOM使用 DOM 获取 XML 标记的内容
【发布时间】:2010-08-05 14:33:00
【问题描述】:

我需要获取标签的内容(在 XML 文件中)并使用 PHP 将它们保存在 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>

【问题讨论】:

  • 您的示例不是 XML 语法。请确保将其正确格式化为代码块。
  • 为什么不向我们展示你正在做的那些不工作的部分?
  • 你为什么不发布你正在使用的代码,然后我们可以看到你做错了什么。

标签: php xml dom


【解决方案1】:

您的 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'ing 代码交换到您的数据库中。

Basic usage of DOM has been covered extensively on StackOverflow,所以找到further usage examples (linked are mine) 应该没有问题。

【讨论】:

    【解决方案2】:

    尝试使用 SimpleXml。这样,您可以简单地使用 foreach 遍历 BIEN,并获取像 $sitecode = $biens-&gt;CODE_SITE 这样的项目

    【讨论】:

      【解决方案3】:

      使用 SimpleXML,非常容易使用。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-11
        • 2021-05-11
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 2012-05-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多