XML ノードの値を変更する
php メソッド: 1. データベースからデータを読み取ります; 2. XML ファイルを書き込みます; 3. DOMDocument オブジェクトを作成して XML ファイルをロードします; 4. の値を変更します指定したノードの下の子ノード 以上です。
この記事の動作環境:Windows7システム、PHP7.1バージョン、Dell G3コンピュータ
xmlの変更方法php のノード値?
php は XML の値を変更します。 ノード
##今日実装したばかりの関数です。たくさんの情報が見つかりました。当初欲しかったものです。 xpath を使用する必要がありますが、xpath についてはあまり知りません。大回りした結果、DOMDocumentを使うことにしました。 ここにマークを付けておくと、今後情報を見つけるのに苦労する必要がなくなります。 まずデータベースからデータを読み取り、次に XML ファイルを書き込みます。 xmlファイルの形式は以下のとおりです。 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>phpファイルで処理します。
$file ="mainchart.xml"; //创建DOMDocument的对象 $dom=new DOMDocument('1.0'); //载入mainchart.xml文件 $dom->load($file); //获得record节点的集合 $records = $dom->getElementsByTagName('record'); //遍历record节点的集合 foreach($records as $record){ //如果record节点的pono子节点的值满足条件,就修改该record节点下memo子节点的值 if($record->getElementsByTagName('pono')->item(0)->nodeValue == $_GET['id']){ $record->getElementsByTagName('memo')->item(0)->nodeValue = $_GET['content']; } } $dom->save('mainchart.xml');$_GET['id'] と $_GET['content'] は、ajax によって渡されるパラメーターです。 推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPでXMLノード値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。