结合两个XML PHP [英] Combine two XML PHP

查看:125
本文介绍了结合两个XML PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试合并两个或更多xml文件以便更好地使用。假设我有两个XML文件,我想在将数据提取到表中之前将它们组合起来。

I'm trying to combine two or more xml files for better use. Let's say I have two XML files and I want to combine their content before extract their data into a table.

<table id="rounded-corner">
    <tr>
            <th>Title</th>
            <th>Download Link</th>
            <th>Language</th>
    </tr>


<?php

        $xml_request_url = 'file.xml';
        $xml = new SimpleXMLElement($xml_request_url, null, true);



        foreach ( $xml->results->content as $item )
        {

        echo "


<tr><td>" . $item->movie . "</td><td><a href=" . $item->download . ">Download Link</a>    </td><td>" . $item->language . "</td></tr>
";

}

        ?> </table>

你能给我一个如何做的例子吗?我不想为我拥有的每个XML文件制作表格。

Can you give me an example of how to do it? I don't want to make tables for each XML file I have.

<find>
<base>
http://www.example.com
</base>
<results items="2" itemsfound="2">
<song>
  <downloadlink>
  http://example.com/dldlink.php?lk=43543
  </downloadlink>
  <format>
  mp3
  </format>
</song>
<song>
  <downloadlink>
  http://example.com/dldlink.php?lk=87798
  </downloadlink>
  <format>
  mp4
  </format>
 </song>
 </results>
 </find>


推荐答案

你的问题其实并不是问如何加入两个XML文件,但更准确地说是如何从两者中创建一个迭代器。这可以通过使用 AppendIterator 来实现:

Your question actually is not asking about how to join two XML files, but more precisely how to create one iterator out of the two. That's possible by using the AppendIterator:

<table id="rounded-corner">
    <tr>
            <th>Title</th>
            <th>Download Link</th>
            <th>Language</th>
    </tr>
<?php

    $content = new AppendIterator();
    $content->append(new IteratorIterator(simplexml_load_file('file1.xml')->results->content));
    $content->append(new IteratorIterator(simplexml_load_file('file2.xml')->results->content));
    foreach($content as $item)
    {
?>
    <tr>
        <td><?= $item->movie ?></td>
        <td><a href="<?= $item->download ?>">Download Link</a></td>
        <td><?= $item->language ?></td>
    </tr>
<?php
    }
?>
</table>

这篇关于结合两个XML PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆