0
以下のスクリプトを使用して、入力フィールドからXMLファイルにテキストを追加しています。私はリストの一番上にアイテムを追加するのは混乱しています、おそらくfirstChild?なぜなら、PHPが入力フィールドからテキストをポストするとXMLツリーの最下部に追加されるので、それがツリーの最初のアイテムになるのはどうしてですか?PHP addChildをリストの先頭に追加しますか?
<?php
if ($_POST['post']) {
$xml = simplexml_load_file('feed.xml');
$item = $xml->channel->addChild('item');
$item->addChild('title', htmlspecialchars($_POST['post']));
file_put_contents('feed.xml', $xml->asXML());
}
?>
ここでは、XMLをどのように見せたいかを示します。
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<item>
<title>Item 3</title>
</item>
<item>
<title>Item 2</title>
</item>
<item>
<title>Item 1</title>
</item>
</channel>
</rss>
と同様の質問へのリンクは、あなたがのSimpleXMLで挿入位置を指定することができます信じてはいけません。しかし、完全なDOMでは、 'insertBefore()'を使って、子リストの最上部にノードを挿入することができます。 –
insertBefore()はaddChildを置き換えますか? –
いいえ、DOMには後に(または最後に)追加するためのappendChildがあります。どちらもノードを挿入しますが、別の場所に新しいノードを挿入します。 –