ホームページ >バックエンド開発 >PHPの問題 >PHPでXMLファイルの内容を変更する方法

PHPでXMLファイルの内容を変更する方法

藏色散人
藏色散人オリジナル
2021-06-03 09:24:332865ブラウズ

php で XML ファイルのコンテンツを変更する方法: 最初に XML ドキュメントを走査し、次にステートメント「foreach ($books as $book) {...}」を通じてコン​​テンツを変更し、最後に再度-サヴァそれ。

PHPでXMLファイルの内容を変更する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

php はどのようにコンテンツを変更しますか? XML ファイル?

PHPでXMLファイルの内容を変更する方法

例:

example.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
    <book id="1">
        <title>title1</title>
    </book>
    <book id="2">
        <title>title2</title>
    </book>
    <book id="3">
        <title>title3</title>
    </book>
    <book id="4">
        <title>title4</title>
    </book>
    <book id="5">
        <title>title5</title>
    </book>
</root>

最初に XML ドキュメントをスキャンします

<?php
    $doc = new DOMDocument();
    $doc->load(&#39;example.xml&#39;);
    $books = $doc -> getElementsByTagName("book");
    //遍历
    foreach ($books as $book) {
        echo $book->getAttribute(&#39;id&#39;)."-";
        echo $book->getElementsByTagName("title")->item(0)->nodeValue;
        echo "<br>";
    }

実行結果:

1-title1
2-title2
3-title3
4-title4
5-title5

変更:

<?php
    $doc = new DOMDocument();
    $doc->load(&#39;example.xml&#39;);
    $books = $doc -> getElementsByTagName("book");
    //遍历
    foreach ($books as $book) {
        //将id=3的title设置为33333
        if($book->getAttribute(&#39;id&#39;)==3){
            echo $book->getAttribute(&#39;id&#39;)."-";
            echo $book->getElementsByTagName("title")->item(0)->nodeValue="33333";
            echo "<br>";
        }
    }
    //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
    $doc -> save(&#39;example.xml&#39;);

変更後:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <book id="1">
        <title>title1</title>
    </book>
    <book id="2">
        <title>title2</title>
    </book>
    <book id="3">
        <title>33333</title>
    </book>
    <book id="4">
        <title>title4</title>
    </book>
    <book id="5">
        <title>title5</title>
    </book>
</root>

削除操作:

<?php
    $doc = new DOMDocument();
    $doc->load(&#39;example.xml&#39;);
    $root = $doc -> documentElement;//根标签   
    $books = $doc -> getElementsByTagName("book");
    //遍历
    foreach ($books as $book) {
        //将id=4的删除
        if($book->getAttribute(&#39;id&#39;)==4){
            $root->removeChild($book);
        }
    }
    //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
    $doc -> save(&#39;example.xml&#39;);

削除後の結果:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <book id="1">
        <title>title1</title>
    </book>
    <book id="2">
        <title>title2</title>
    </book>
    <book id="3">
        <title>33333</title>
    </book>
    <book id="5">
        <title>title5</title>
    </book>
</root>

推奨される学習: 「 PHP ビデオ チュートリアル >>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。