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

    php如何修改 xml 文件

    藏色散人藏色散人2020-08-18 09:48:11原创688

    php修改xml文件的方法:首先打开xml文件;然后遍历一下xml文档;接着对xml文件内容进行重新赋值;最后保存文件即可。

    推荐:《PHP视频教程

    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('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如何修改 xml 文件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php xml
    上一篇:php trim()不能去掉的空格怎么办 下一篇:php fileinfo不支持怎么办
    线上培训班

    相关文章推荐

    • PHP如何将XML字符串转数组?• php中xml转换json问题• PHP如何将JSON转换为XML?• php数组怎么转xml

    全部评论我要评论

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

    PHP中文网