Home  >  Article  >  Backend Development  >  Detailed explanation of steps to dynamically add XML data in PHP

Detailed explanation of steps to dynamically add XML data in PHP

php中世界最好的语言
php中世界最好的语言Original
2018-05-17 13:34:441327browse

This time I will bring you a detailed explanation of the steps to dynamically add XML data in PHP. What are the precautions for dynamically adding XML data in PHP? . Here is a practical case, let's take a look.

The creation of xml documents has been briefly described before. Here we continue to discuss the dynamic addition of data in xml:

1. Code

";
     $this->loadXML($xmlstr);
     $this->save("message.xml");//生成XML文档
    }else{
     $this->load("message.xml");//如果存在则载入XML文档
    }
   }
   public function add_message($user,$address){//创建方法
    $Root=$this->documentElement;//定义根节点
    $admin_id=date("Ynjhis");
    $Node_admin_id=$this->createElement("admin_id");//创建节点admin_id
    $text=$this->createTextNode(iconv("GB2312","UTF-8",$admin_id));//创建一个文本节点
    $Node_admin_id->appendChild($text);//将文本节点添加到admin_id节点中
    $Node_user=$this->createElement("user");//创建节点user
    $text=$this->createTextNode(iconv("GB2312","UTF-8",$user));//创建一个文本节点
    $Node_user->appendChild($text);//将文本节点添加到user节点中
    $Node_address=$this->createElement("address");//创建节点address
    $text=$this->createTextNode(iconv("GB2312","UTF-8",$address));//创建一个文本节点
    $Node_address->appendChild($text);//将文本节点添加到address节点中
    $Node_Record=$this->createElement("record");//创建节点record
    $Node_Record->appendChild($Node_admin_id);//将admin_id节点添加到record节点中
    $Node_Record->appendChild($Node_user);//将user节点添加到record节点中
    $Node_Record->appendChild($Node_address);//将address节点添加到record节点中
    $Root->appendChild($Node_Record);//将record节点添加到根节点中
    $this->save("message.xml");//生成XML文档
    echo "";
   }
   public function show_message(){//定义输出XML文件中的内容函数
    $Root=$this->documentElement;//定义根节点
    $xpath=new DOMXPath($this);//定义DOMXPath
    $Node_Record=$this->getElementsByTagName("record");//获取节点record的标签
    $Node_Record_length=$Node_Record->length;//获取标签的数量
    print"";
    print"";
    for($i=0;$i<$Node_Record->length;$i++){//应用for循环输出查询结果
     $k=0;
     foreach($Node_Record->item($i)->childNodes as $articles){  //通过foreach语句读取返回对象中的数据
      $field[$k]=iconv("UTF-8","GB2312",$articles->textContent);//实现编码格式的转换
      $k++;
     }
     print"
"; print"用户名"; print""; print"留言信息
"; print"
"; print"$field[1]"; print""; print"$field[2]"; print"
"; } } public function post_message(){//定义输出表单的函数 print""; print""; print""; print"
用户名:
留言信息:
查看数据
"; } } ?> 添加XML数据
添加数据
show_message();//当参数值为show_message时执行show_message()函数 break; case "post_message": $HawkXML->post_message();//当参数值为post_message时执行post_message()函数 break; case "add_message": $HawkXML->add_message($_POST['user'],$_POST['address']);//当参数值为add_message时执行add_message()函数 break; } ?>

2. Operation results

I believe you have mastered the method after reading the case in this article. Please pay attention for more exciting things. Other related articles on php Chinese website!

Recommended reading:

Detailed explanation of the steps for PHP to dynamically obtain function parameters

Detailed explanation of the use of PHP status mode

The above is the detailed content of Detailed explanation of steps to dynamically add XML data in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn