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 해결책
당신은 SimpleXML이 같은 XML 파서/클래스에 빌드 중 하나를 사용할 수 있습니다<?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")
?>
먼저 할 일은 대부분의 편안한 느낌 하나를 선택 XML 파일 것을 보장하는 것입니다 잘 형성된다. ;) (닫는 태그 daoc_items에는 열려있는 태그가 없습니다) – Eineki
위 XML 문서의 루트 노드가 유효하지 않습니다. 실제로 작동 할 예제 코드를 입력하십시오. 어떤 요소를 추가하고 싶습니까? [SimpleXML] (http://php.net/manual/en/book.simplexml.php)은 아마도 당신을위한 해결책 일 것이지만 더 자세한 내용이 필요합니다. – DaveRandom