Heim  >  Artikel  >  Backend-Entwicklung  >  php添加数据到xml文件中

php添加数据到xml文件中

高洛峰
高洛峰Original
2016-10-10 10:57:56969Durchsuche

导读:php添加数据到xml文件中

 xml文件:stu.xml:

复制代码代码如下:

<?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>

以上文件stu.xml提供了部分学生数据。
现在需要在每个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>

用php来实现:

复制代码代码如下:

<?php
$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);
  }
 $result = $doc->saveXML(‘stu.xml’);
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn