1

我想像这样从php制作一个xml文件。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<feed>
    Everything from php form will go here like this:
    <item sdImg="" hdImg="">
        <title></title>
        <contentId></contentId>
        <contentType></contentType>
        <contentQuality></contentQuality>
        <streamFormat></streamFormat>
        <media>
            <streamQuality></streamQuality>
            <streamBitrate></streamBitrate>
            <streamUrl></streamUrl>
        </media>
        <synopsis></synopsis>
        <genres></genres>
        <runtime></runtime>
    </item>
    now this elements will be submitted again and again with different values.
</feed>

现在的问题是我希望在此祖父母 feed标记之间写入表单的输出。我认为FOPEN并且FWRITE会很有用,但我认为它们不能在这里使用。那么在这里可以使用的最有用的php功能是什么。而且表单将一次又一次地写入同一个xml文件。我的意思是每次用户都会提交表单。

提前感谢您的回答。

4

2 回答 2

1

由于$_POST是一个数组,您可以使用PHP 的 SimpleXML将发布数据转换为 XML 格式。

$xml = new SimpleXMLElement('<feed/>');
array_walk_recursive( $_POST, array( $xml, 'addChild' ) );
print $xml->asXML( );

根据您的使用情况,您可能需要array_flip获取要匹配的键/值对的内容。

请注意,您可能需要清理已发布的数据,以确保无论您使用它做什么都是安全的。

于 2013-04-03T18:51:29.360 回答
1

您可以使用类似DOMDocument的东西生成 xml 对象,并将输出保存为 XML 文件。

于 2013-04-03T18:49:21.253 回答