1
需要關於xml文件的幫助來爲我的flash網站編輯內容,每當我插入textarea例如「name」它會在xml中創建新的活動,我需要它會從「游泳」變爲「名字」。 我已經發現了XML,要改變內容,我需要刪除「游泳」,並插入「名稱」。用php textarea更新xml文件中的測試提交
如何做到這一點,首先將內容插入到textarea中 - >按下「update」時保存它 - >從xml文件中刪除舊活動並將新內容插入到xml文件中?
sample.xml中
<?xml version="1.0"?>
<list>
<activity>swimming</activity>
</list>
的index.php
<html>
<head><title>test</title></head>
</head>
<body>
<table width="100" border="1">
<tr>
<td><?php
$xmldoc = new DOMDocument();
$xmldoc->load("sample.xml", LIBXML_NOBLANKS);
$activities = $xmldoc->firstChild->firstChild;
if($activities!=null){
while($activities!=null){
echo $activities->textContent."";
$activities = $activities->nextSibling;
}
}
?></td>
</tr>
<tr>
<td><form name="input" action="insert.php" method="post">
<textarea name="activity" cols="70" rows="10"><?php
$xmldoc = new DOMDocument();
$xmldoc->load("sample.xml", LIBXML_NOBLANKS);
$activities = $xmldoc->firstChild->firstChild;
if($activities!=null){
while($activities!=null){
echo $activities->textContent."";
$activities = $activities->nextSibling;
}
}
?></textarea>
</td>
</tr>
<tr>
<td align="right"><input type="submit" value="Update"/>
<input name="reset" type="reset" id="reset" value="Reset">
</form></td>
</tr>
</table>
</body>
</html>
insert.php
<?php
header('Location:index.php');
$xmldoc = new DOMDocument();
$xmldoc->load('sample.xml');
$newAct = $_POST['activity'];
$root = $xmldoc->firstChild;
$newElement = $xmldoc->createElement('activity');
$root->appendChild($newElement);
$newText = $xmldoc->createTextNode($newAct);
$newElement->appendChild($newText);
$xmldoc->save('sample.xml');
?>
謝謝大家對您的幫助!
你不是HTML轉義`echo $ activities-> textContent。「」;`。 OTOH使用DOMDocument的XML而不是一些正則表達式的混亂:) – Kornel 2011-01-11 12:52:57