php操作XML向已经存在的节点添加子节点并赋值
<?xmlversion="1.0"encoding="utf-8"?><AllData><xueshengmen><xuesheng><name>张三</name><y...
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
瑞在有一个XML文件xueshengshuju上面是部分数据
现在需要在每个xuesheng的节点里面添加一个zongfen的属性并且它的值等于yuwen+shuxue+yingyu的值
如下面的结果
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
<zongfen>240</zongfen>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
<zongfen>2225</zongfen>
</xuesheng>
</xueshengmen>
</AllData>
希望得大家给完整的程序代码,谢谢大家了! 展开
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
</xuesheng>
</xueshengmen>
</AllData>
瑞在有一个XML文件xueshengshuju上面是部分数据
现在需要在每个xuesheng的节点里面添加一个zongfen的属性并且它的值等于yuwen+shuxue+yingyu的值
如下面的结果
<?xml version="1.0" encoding="utf-8" ?>
<AllData>
<xueshengmen>
<xuesheng>
<name>张三</name>
<yuwen>80</yuwen>
<shuxue>90</shuxue>
<yingyu>70</yingyu>
<zongfen>240</zongfen>
</xuesheng>
<xuesheng>
<name>李四</name>
<yuwen>60</yuwen>
<shuxue>90</shuxue>
<yingyu>75</yingyu>
<zongfen>2225</zongfen>
</xuesheng>
</xueshengmen>
</AllData>
希望得大家给完整的程序代码,谢谢大家了! 展开
展开全部
假设你的xml为stu.xml
---------------那么--------------
$doc = new DOMDocument();
$doc->load( 'stu.xml' );
$students = $doc->getElementsByTagName( "xuesheng" );
foreach($students as $stu){
$yuwen = $stu->getElementsByTagName( "yuwen" )->item(0)->nodeValue;
$shuxue = $stu->getElementsByTagName( "shuxue" )->item(0)->nodeValue;
$yingyu = $stu->getElementsByTagName( "yingyu" )->item(0)->nodeValue;
$zongfen = $stu->getElementsByTagName( "zongfen" )->item(0)->nodeValue;
if($zongfen){
echo "节点已经存在了,不再添加!";
continue;
}
$zongfen = $yuwen+$shuxue+$yingyu;
$newNode = $doc->createElement("zongfen",$zongfen);
$stu->appendChild($newNode);
}
echo $result = $doc->saveXML();
file_put_contents("stu.xml",$result); //这句其实是不需要加上的- - 但是我也不晓得为什么save不了,就加了这句~
希望对你有用哦~
---------------那么--------------
$doc = new DOMDocument();
$doc->load( 'stu.xml' );
$students = $doc->getElementsByTagName( "xuesheng" );
foreach($students as $stu){
$yuwen = $stu->getElementsByTagName( "yuwen" )->item(0)->nodeValue;
$shuxue = $stu->getElementsByTagName( "shuxue" )->item(0)->nodeValue;
$yingyu = $stu->getElementsByTagName( "yingyu" )->item(0)->nodeValue;
$zongfen = $stu->getElementsByTagName( "zongfen" )->item(0)->nodeValue;
if($zongfen){
echo "节点已经存在了,不再添加!";
continue;
}
$zongfen = $yuwen+$shuxue+$yingyu;
$newNode = $doc->createElement("zongfen",$zongfen);
$stu->appendChild($newNode);
}
echo $result = $doc->saveXML();
file_put_contents("stu.xml",$result); //这句其实是不需要加上的- - 但是我也不晓得为什么save不了,就加了这句~
希望对你有用哦~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询