• 技术文章 >后端开发 >PHP问题

    php怎么修改xml文件内容

    藏色散人藏色散人2021-06-03 18:46:38原创74

    php修改xml文件内容的方法:首先遍历一下xml文档;然后通过语句“foreach ($books as $book) {...}”修改内容;最后重新sava一下即可。

    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

    php怎么修改xml文件内容?

    dcfca7026a45b9ac961791801f15ad5.png

    例如:

    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('example.xml');
        $books = $doc -> getElementsByTagName("book");
        //遍历
        foreach ($books as $book) {
            echo $book->getAttribute('id')."-";
            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('example.xml');
        $books = $doc -> getElementsByTagName("book");
        //遍历
        foreach ($books as $book) {
            //将id=3的title设置为33333
            if($book->getAttribute('id')==3){
                echo $book->getAttribute('id')."-";
                echo $book->getElementsByTagName("title")->item(0)->nodeValue="33333";
                echo "<br>";
            }
        }
        //对文件做修改后,一定要记得重新sava一下,才能修改掉原文件
        $doc -> save('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>33333</title>
        </book>
        <book id="4">
            <title>title4</title>
        </book>
        <book id="5">
            <title>title5</title>
        </book>
    </root>

    删除操作:

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

    推荐学习:《PHP视频教程

    以上就是php怎么修改xml文件内容的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php post 无参数怎么设置 下一篇:deepin怎么安装php环境
    第16期线上培训班

    相关文章推荐

    • php小数怎么去掉末尾0• php怎么去除末尾逗号• php7和hvvm的区别是什么• 如何解决php压缩中文文件名乱码问题• php post 无参数怎么设置

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网