Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar nilai nod xml dalam php

Bagaimana untuk menukar nilai nod xml dalam php

藏色散人
藏色散人asal
2021-09-02 09:26:512136semak imbas

Cara menukar nilai nod xml dalam PHP: 1. Baca data dari pangkalan data 2. Tulis fail xml 3. Buat objek DOMDocument dan muatkan fail xml; nod anak di bawah nod yang ditentukan Itu sahaja.

Bagaimana untuk menukar nilai nod xml dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, versi PHP7.1, komputer Dell G3

Cara menukar nilai nod xml dalam php?

php mengubah suai nilai nod xml

Fungsi yang baru saya laksanakan hari ini, saya dapati banyak maklumat, saya pada asalnya ingin menggunakan xpath, tetapi saya tidak tahu banyak tentang xpath. Selepas berkeliling dalam bulatan besar, saya memutuskan untuk menggunakan DOMDocument.

Buat tanda di sini supaya anda tidak perlu bekerja keras untuk mencari maklumat pada masa hadapan.

Mula-mula baca data daripada pangkalan data dan kemudian tulis fail xml. Format fail xml adalah seperti berikut.

mainchart.xml

<?xml version="1.0" encoding="utf-8"?>
<records>
<record>
<pono>5008171</pono>
<status>3</status>
<opentime>2010.06.13 14:19</opentime>
<closetime>2010.06.16 14:19</closetime>
<potype>balance</potype>
<variety/>
<margin/>
<openprice/>
<closeprice/>
<zhisun/>
<zhiying/>
<lowest/>
<highest/>
<netvalue/>
<openamount/>
<openinterest/>
<amount/>
<point/>
<positiontime>3</positiontime>
<memo>TRMM-DP(123005)-D</memo>
</record>
<record>
<pono>5011083</pono>
<status>3</status>
<opentime>2010.06.15 16:15</opentime>
<closetime>2010.06.15 16:23</closetime>
<potype>buy</potype>
<variety>eurusd</variety>
<margin/>
<openprice>1.31822</openprice>
<closeprice>1.31655</closeprice>
<zhisun>0</zhisun>
<zhiying>0</zhiying>
<lowest/>
<highest/>
<netvalue/>
<openamount/>
<openinterest/>
<amount/>
<point/>
<positiontime>00:08:00</positiontime>
<memo>aaafff</memo>
</record>
<record>
<pono>5011913</pono>
<status>3</status>
<opentime>2010.06.15 16:51</opentime>
<closetime>2010.06.15 17:19</closetime>
<potype>sell</potype>
<variety>eurusd</variety>
<margin/>
<openprice>1.31819</openprice>
<closeprice>1.31809</closeprice>
<zhisun>0</zhisun>
<zhiying>0</zhiying>
<lowest/>
<highest/>
<netvalue/>
<openamount/>
<openinterest/>
<amount/>
<point/>
<positiontime>00:28:00</positiontime>
<memo>eee</memo>
</record>
</records>

Memproses dalam fail php.

$file ="mainchart.xml";
    //创建DOMDocument的对象
    $dom=new DOMDocument(&#39;1.0&#39;);
    //载入mainchart.xml文件
    $dom->load($file);
    //获得record节点的集合
    $records = $dom->getElementsByTagName(&#39;record&#39;);
    //遍历record节点的集合
    foreach($records as $record){
        //如果record节点的pono子节点的值满足条件,就修改该record节点下memo子节点的值
        if($record->getElementsByTagName(&#39;pono&#39;)->item(0)->nodeValue == $_GET[&#39;id&#39;]){
            $record->getElementsByTagName(&#39;memo&#39;)->item(0)->nodeValue = $_GET[&#39;content&#39;];
        }
    }
$dom->save(&#39;mainchart.xml&#39;);

$_GET['id'] dan $_GET['content'] ialah parameter yang diluluskan oleh ajax.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai nod xml dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn