PHPでXMLノード値を変更する方法

藏色散人
リリース: 2023-03-12 09:46:01
オリジナル
2142 人が閲覧しました

XML ノードの値を変更する

php メソッド: 1. データベースからデータを読み取ります; 2. XML ファイルを書き込みます; 3. DOMDocument オブジェクトを作成して XML ファイルをロードします; 4. の値を変更します指定したノードの下の子ノード 以上です。

PHPでXMLノード値を変更する方法

この記事の動作環境: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(&#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'] と $_GET['content'] は、ajax によって渡されるパラメーターです。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでXMLノード値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート