Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php textarea submit更新xml文件中的测试_Php_Xml_Dom - Fatal编程技术网

使用php textarea submit更新xml文件中的测试

使用php textarea submit更新xml文件中的测试,php,xml,dom,Php,Xml,Dom,需要xml文件的帮助来编辑我的flash站点的内容,每次当我插入文本区域(例如“name”)时,它都会用xml创建新的活动,我需要它将从“游泳”更改为“name”。 我发现要更改xml中的内容,我需要删除“swinging”并插入“Name” 如何操作,首先将内容插入文本区域-->按“更新”-->从xml文件中删除旧活动时保存,然后将新内容插入xml文件??? sample.xml <?xml version="1.0"?> <list> <activity

需要xml文件的帮助来编辑我的flash站点的内容,每次当我插入文本区域(例如“name”)时,它都会用xml创建新的活动,我需要它将从“游泳”更改为“name”。 我发现要更改xml中的内容,我需要删除“swinging”并插入“Name”

如何操作,首先将内容插入文本区域-->按“更新”-->从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');
?>


谢谢大家的帮助

好的,我自己管理,如果您需要添加或删除网页上的内容,只需从顶部复制所有内容,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');
?>
new insert.php

<?php 
$xmldoc = new DOMDocument;
$xmldoc->load('sample.xml');
foreach ($xmldoc->getElementsByTagName('activity') as $activity)
{
    $activity->parentNode->removeChild($activity);
}
$xmldoc->save('sample.xml');

?>

<?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');

?>


谢谢

好的,我自己管理,如果您需要添加或删除网页上的内容,只需从顶部复制所有内容,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');
?>
new insert.php

<?php 
$xmldoc = new DOMDocument;
$xmldoc->load('sample.xml');
foreach ($xmldoc->getElementsByTagName('activity') as $activity)
{
    $activity->parentNode->removeChild($activity);
}
$xmldoc->save('sample.xml');

?>

<?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。”。使用domdocumentforxml而不是一些regexp乱七八糟的东西,这是一种荣誉:)你不是HTML转义
echo$activities->textContent。”。OTOH对使用DOMDocument for XML而不是一些regexp混乱表示赞赏:)