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

    php如何修改xml内容

    藏色散人藏色散人2020-11-04 09:35:22原创423

    php修改xml内容的方法:首先打开xml文件;然后遍历一下该xml文档;接着通过“foreach ($books as $book) {...}”方式对内容进行重新赋值;最后保存修改即可。

    推荐:《PHP视频教程

    示例

    例如:

    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安装curl扩展 下一篇:如何隐藏php代码
    大前端线上培训班

    相关文章推荐

    • php如何将xml转为字符串• php array转xml的方法• php simplexml 如何删除节点• php 字符串如何转换成xml

    全部评论我要评论

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

    PHP中文网