一位朋友为我创建了一个非常棒的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>
答案 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?