php - 需要帮助解析 xml

标签 php mysql xml

<ProductCatalog>
  <product>
    <AtrrList>
      <element Name="Storage Capacity" Value="8 GB"/>
      <element Name="Interface" Value="USB 2.0"/>
    </AtrrList>
  </product>  
</ProductCatalog>

这是我需要解析的 xml,我需要元素标记中的名称和值以使用循环放入数组中。我已经设法读取 php 中的行

foreach ($xxml->AttrList->element as $rating) {
    echo "<tr>";
    echo "<td>";
    $name = $rating['Name'];
    echo $name;
    echo "</td>";
    echo "<td>";
    $value = $rating['Value'];
    echo $value;
    echo "</td>";
    echo "</tr>";
}

但我不能把它放在数组中,所以我可以将它保存到 mysql 数据库中。

我将不胜感激。

最佳答案

您还可以使用 SimpleXML 获取值:

<?php

$xmlstr = <<<OOT
    <ProductCatalog>
    <product>
    <AtrrList>
    <element Name="Storage Capacity" Value="8 GB"/>
    <element Name="Interface" Value="USB 2.0"/>
    </AtrrList>
    </product>  
    </ProductCatalog>
OOT;

$movies = new SimpleXMLElement($xmlstr);

foreach($movies->product->AtrrList->element as $attr)
{
    echo $attr['Name'].' '.$attr['Value'];
    echo '<p>---</p>';
}

这段代码会输出:

Storage Capacity 8 GB
---

Interface USB 2.0
---

关于php - 需要帮助解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34046068/

相关文章:

php - 带有 codeigniter 的 ajax jquery。 url 不访问 Controller

php - 如何在 PHP 中比较日期?

mysql - 合并两个Mysql表

c# - 从 XNode 中读取值

php - 通过 PHP 将 "form"详细信息发送到 SQL 数据库,但需要以正确的格式发送详细信息

php - 使用 RestServer 的 Api key 无效

php - 从 PHP 服务器端应用程序向 Android 客户端应用程序发送通知(少量数据)

MySQL - 选择时间戳在另一行的设定时间内的行

c# - 从节点列表中获取节点列表 c# .net

java - Java 上有关无效 XML 字符的错误