【问题标题】:How would I parse this XML with PHP, and generate new PHP files with it? [closed]我将如何用 PHP 解析这个 XML,并用它生成新的 PHP 文件? [关闭]
【发布时间】:2013-12-04 17:06:06
【问题描述】:

我的问题是关于用 php 解析 xml。虽然我了解一些 php 的基础知识,但请考虑到我的理解非常有限。

这是我正在使用的 XML 结构的示例:

<XML_DATA item=“Beatles”>
<People>
    <Person Firstname=“George” Lastname=“Harrison” Instrument=“Guitar”>Harrison, George</Person>
    <Person Firstname=“John” Lastname=“Lennon” Instrument=“Guitar”>Lennon, John</Person>
    <Person Firstname=“Paul” Lastname=“McCartney” Instrument=“Bass”>McCartney, Paul</Person>
    <Person Firstname=“Ringo” Lastname=“Starr” Instrument=“Drums”>Starr, Ringo</Person>
</People>
</XML_DATA>

这就是我需要对这些数据做的事情:

  1. 将每个人填充到索引页面上的表格中,显示他们的名字和姓氏。
  2. 将为每个人生成一个页面。在该页面上,将显示名字、姓氏和仪器。
  3. 在索引页面的表格上,每个人的名字/姓氏将被包裹在一个锚标记中,链接到他们对应的页面。

我该怎么做呢?

感谢您的帮助,谢谢。

【问题讨论】:

  • How would I go about doing this? --> 谷歌
  • 查看 PHP 手册中的 SimpleXML - 那里有大量示例 (in particular this function)。从那里,呈现为您选择的 HTML 格式应该很容易。试试看?

标签: php xml parsing


【解决方案1】:

这里是如何解析你的 xml 文件:

    $doc = new DOMDocument('1.0', 'UTF-8');
    $doc->load('your/xml/file.xml');
    $datas = $doc->getElementsByTagName('Person');
    foreach ($datas as $data)
    {
        echo $data->getAttribute('Firstname'); //displays "George", then "John" and so on...
        echo $data->getAttribute('Lastname'); //displays "Harrison", then "Lennon" and so on...
        echo $data->getAttribute('Instrument'); // displays "Guitar", then "Guitar" and so on...
        echo $data->nodeValue //displays "Harrison, George", then "Lennon, John" and so on...
    }

现在您可以将数据存储在一个数组中,以便您可以随时操作它们。

【讨论】:

  • 谢谢,这个答案给了我所需的帮助,让我把事情搞定。
猜你喜欢
  • 2012-08-11
  • 2012-05-01
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
相关资源
最近更新 更多