0
こんにちは、私は、新しいエントリを.xmlファイルにアップロードできるフォームを作成することを楽しみにしています。 フォームは問題ではありません。問題はダイナミックとスタティックの新しいエントリを既存の.xmlファイルに追加することです。PHPを使用したXMLでのエントリの追加
私のXMLファイルは、以下のようになります。誰かがサンプルを持っていた場合
<?xml version="1.0" encoding="ISO-8859-1" ?>
<item><provider>Fabian</provider>
<provider_itemid>1</provider_itemid>
<name>Robe der Regalia</name>
<origin>Art: Drop</origin>
<description>Mindest-Stufe: Keine</description>
<extension>CLASSIC</extension>
<position>CHEST</position>
<online_url>www.google.me</online_url>
<lastupdate>28.03.2008 09:58:20</lastupdate>
<realm>Hibernia</realm>
<level>30</level>
<quality>95</quality>
<bonus>20</bonus>
<armor af="30">CLOTH</armor>
<effect id="HITPOINTS">27</effect>
<effect id="ENCHANTMENTS">2</effect>
<effect id="MENTALISM">2</effect>
<effect id="VOID">2</effect>
</item>
</daoc_items>
は素晴らしいことです! :) おかげ
UPDATEソリューション
<?php
$daoc_items = array();
$daoc_items [] = array(
'name' => 'Skyros-Hammer aus Arkanit',
'extensions' => 'test',
'description' => 'test',
'realm' => 'Midgard',
'level' => 'Midgard',
'quality' => "99",
'bonus' => "99",
'position' => "99",
'weapon' => "99",
'effect' => "99",
'origin' => "99",
);
$daoc_items [] = array(
'name' => 'Skyros-Hammer aus Arkanit',
'extensions' => 'test',
'description' => 'test',
'realm' => 'Midgard',
'level' => 'Midgard',
'quality' => "99",
'bonus' => "99",
'position' => "99",
'weapon' => "99",
'effect' => "99",
'origin' => "99",
);
$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement("daoc_items");
$doc->appendChild($r);
foreach($daoc_items as $item)
{
$b = $doc->createElement("item");
$name = $doc->createElement("name");
$name->appendChild(
$doc->createTextNode($item['name'])
);
$b->appendChild($name);
$extensions = $doc->createElement("extensions");
$extensions->appendChild(
$doc->createTextNode($item['extensions'])
);
$b->appendChild($extensions);
$description = $doc->createElement("description");
$description->appendChild(
$doc->createTextNode($item['description'])
);
$b->appendChild($description);
$realm = $doc->createElement("realm");
$realm->appendChild(
$doc->createTextNode($item['realm'])
);
$b->appendChild($realm);
$level = $doc->createElement("level");
$level->appendChild(
$doc->createTextNode($item['level'])
);
$b->appendChild($level);
$quality= $doc->createElement("quality");
$quality->appendChild(
$doc->createTextNode($item['quality'])
);
$b->appendChild($quality);
$bonus= $doc->createElement("bonus");
$bonus->appendChild(
$doc->createTextNode($item['bonus'])
);
$b->appendChild($bonus);
$position= $doc->createElement("position");
$position->appendChild(
$doc->createTextNode($item['position'])
);
$b->appendChild($position);
$weapon= $doc->createElement("weapon");
$weapon->appendChild(
$doc->createTextNode($item['weapon'])
);
$b->appendChild($weapon);
$effect= $doc->createElement("effect");
$effect->appendChild(
$doc->createTextNode($item['effect'])
);
$b->appendChild($effect);
$origin= $doc->createElement("origin");
$origin->appendChild(
$doc->createTextNode($item['origin'])
);
$b->appendChild($origin);
$r->appendChild($b);
}
echo $doc->saveXML();
$doc->save("item.xml")
?>
であなたが最も快適に感じるものを選びますよく形成される。 ;)(閉じタグdaoc_itemsに対応するオープンタグがありません) – Eineki
上記のXML文書のルートノードが無効です。実際に動作するサンプルコードを参考にしてください。ドキュメントのどこにどのような要素を追加したいですか? [SimpleXML](http://php.net/manual/en/book.simplexml.php)はおそらくあなたのための解決策ですが、より詳細な情報が必要です。 – DaveRandom