Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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 替换XML中的子对象 name.” “.$xml->lastname” “.$xml->email” “.$xml->level” “.$xml->生日” “.$xml->gender” “.$xml->age” “.$xml->country。” '; } 会话_start(); 如果(isset($_POST['save'])){ $member=$_POST['newname']; $dom=新的DOMDocument(); $dom->load('users/'.basename($file.'.xml'); $editname=$dom->getElementsByTagName('name'); $newname=$dom->createTextNode($member); foreach($editname为$edit){ $edit->parentNode->replaceChild($newname,$edit); } $dom->save('users/'.basename($file)。'.xml'); } ?>_Php_Html_Xml - Fatal编程技术网

Php 替换XML中的子对象 name.” “.$xml->lastname” “.$xml->email” “.$xml->level” “.$xml->生日” “.$xml->gender” “.$xml->age” “.$xml->country。” '; } 会话_start(); 如果(isset($_POST['save'])){ $member=$_POST['newname']; $dom=新的DOMDocument(); $dom->load('users/'.basename($file.'.xml'); $editname=$dom->getElementsByTagName('name'); $newname=$dom->createTextNode($member); foreach($editname为$edit){ $edit->parentNode->replaceChild($newname,$edit); } $dom->save('users/'.basename($file)。'.xml'); } ?>

Php 替换XML中的子对象 name.” “.$xml->lastname” “.$xml->email” “.$xml->level” “.$xml->生日” “.$xml->gender” “.$xml->age” “.$xml->country。” '; } 会话_start(); 如果(isset($_POST['save'])){ $member=$_POST['newname']; $dom=新的DOMDocument(); $dom->load('users/'.basename($file.'.xml'); $editname=$dom->getElementsByTagName('name'); $newname=$dom->createTextNode($member); foreach($editname为$edit){ $edit->parentNode->replaceChild($newname,$edit); } $dom->save('users/'.basename($file)。'.xml'); } ?>,php,html,xml,Php,Html,Xml,所以我编写了这段代码,正如您所看到的,它包含DOM和简单的XML元素。 我试图使用$\u POSTthrow input命令替换child,输入框在上面的echo部分,我使用js替换代码,它通过onclick命令替换文本以输入文本(对我的问题来说并不重要,只是为了解释)。 不管怎样,由于代码不起作用,我几乎没有被卡住,我设置了$\u POST,我尝试使用在堆栈溢出中找到的一些指南,但它不起作用,因为它与我的代码不匹配 你有什么答案吗 感谢您的帮助,Y.D.使用simplexml的示例-->请参见

所以我编写了这段代码,正如您所看到的,它包含DOM和简单的XML元素。 我试图使用
$\u POST
throw input命令替换child,输入框在上面的echo部分,我使用js替换代码,它通过onclick命令替换文本以输入文本(对我的问题来说并不重要,只是为了解释)。 不管怎样,由于代码不起作用,我几乎没有被卡住,我设置了
$\u POST
,我尝试使用在堆栈溢出中找到的一些指南,但它不起作用,因为它与我的代码不匹配

你有什么答案吗


感谢您的帮助,Y.D.

使用
simplexml的示例-->请参见现场演示:

$xmlstr=head->name)-1;
对于($x;$x>=0;$x--){
$xml->head->name[$x]=“newname”;
} 
回声“;
var_dump($xml);
回声“;

我不太确定,但你的解决方案对我来说似乎有些过分。为什么不通过ajax调用php并根据结果从javascript更新dom呢?不。。。从js更新dom是不可能的,只有从PHP,我的问题是缺少一些东西,或者我使用dom代替SimpleXML,但我不确定如何修复它,或者我真正的问题是什么,毕竟我问这个问题的原因。请展示你的xml和你想要的xml的示例。我不认为xml有一部分,它是正常的XML版本1,name元素是我希望编辑的元素。如果它实际上回答了你的问题,请考虑接受一个答案(点击左边的刻痕)。
<?php
$files = glob('users/*.xml');
foreach($files as $file) {
    $xml = new SimpleXMLElement($file, 0, true);
    echo '
        <tr>
            <td><input type="radio" name="browser" onclick="check(this.value)" value="'. basename($file) .'"></td>
            <td class="alternate-row1">'. basename($file, '.xml') .'</td>
            <td><span id="itm1" onclick="exchange(this.id)">'. $xml->name .'</span><input id="itm1b" class="replace" type="text" name="newname"></td>
            <td class="alternate-row1">'. $xml->lastname .'</td>
            <td>'. $xml->email .'</td>
            <td class="alternate-row1">'. $xml->level .'</td>
            <td>'. $xml->birthday .'</td>
            <td class="alternate-row1">'. $xml->gender .'</td>
            <td>'. $xml->age .'</td>
            <td class="alternate-row1">'. $xml->country .'</td>
        </tr>';
}
session_start();
if (isset($_POST['save'])){
    $member = $_POST['newname'];
    $dom = new DOMDocument();
    $dom->load('users/' . basename($file) . '.xml');
    $editname = $dom->getElementsByTagName('name');
    $newname = $dom->createTextNode($member);
    foreach ($editname as $edit) {
       $edit->parentNode->replaceChild($newname, $edit);
    }
    $dom->save('users/' . basename($file) . '.xml');
}
?>
$xmlstr = <<<XML
<root>
    <head>
        <name id="1">test</name>
        <name id="2">file</name>
        <name id="3">name</name>
    </head>
</root>
XML;

$xml = simplexml_load_string($xmlstr);

echo "<pre>";
var_dump($xml);
echo "</pre>";

$x = count($xml->head->name)-1;

for ($x; $x>=0; $x--) {

    $xml->head->name[$x] = "newname";

} 

echo "<pre>";
var_dump($xml);
echo "</pre>";