将项目选择性地放在一个post方法中的XML,有什么想法吗?

时间:2011-11-13 00:41:59

标签: php html css xml feed

一位朋友为我创建了一个非常棒的PHP脚本,它在将输入字段中的文本提交到XML文件时生成XML标记。在尝试将XML数据呈现为RSS时,我遇到了一些问题。我编写了不同的XML以便将其视为RSS,但是当我的输入字段将文本发布到XML文件时,它应该放在item标记内,而是将它放在结束通道标记之后。有关如何解决这个问题的想法吗?

feed.xml

<?xml version="1.0" encoding="UTF-8"?>
 <rss version="2.0">
 <channel>
          <item>
                    <title>Hello</title>
         </item>
  </channel>
  <title>Hello again!</title>
  </rss>

user.php的

    <?php

    if ($_POST['post']) {
        $xml = simplexml_load_file('feed.xml');
        $xml->addChild('title', $_POST['post']);

        file_put_contents('feed.xml', $xml->asXML());
    }
    ?>


    <div class="feed">
    <form action="" method="post">
    <textarea rows="5" cols="42" name="post" class="post" placeholder="What's up?">
    </textarea><br><br>
    <input type="submit" class="submit" value="Post">
    </form>
    <div>

1 个答案:

答案 0 :(得分:0)

我认为您必须获取rss节点并附加到该节点。我认为像下面这样的东西应该有效:

$rss_node = $xml->getElementByName('rss');
$new_node = $rss_node->createElement('title');
$rss_node->appendChild($new_node);

How do I add new elements to XML using PHP DOM deeper than the root?