修改XML指定标签的内容

时间:2021-11-22 03:50:41

修改Xml指定标签内容(我这是去掉指定标签内容的空格)

其实就是个很简单的方法,需要的盆友直接拿走。

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT>
    <item>
        <key>记录博客是一个很好的习惯</key>
        <url>http://www.cnblogs.com/keerdi/p/5465549.html</url>
        <title>去除XML的空格</title>
        <content>养成一个好习惯很重要,  这是一段有空   格的文件内容,</content>
        <date>2016-1-12</date>
    </item>
    <item>
        <key>大家一起来写博客</key>
        <url>http://www.cnblogs.com/keerdi/p/5465549.html</url>
        <title>写博客可以增强记忆能力</title>
        <content>一般安 装后的linux系统都是英文的界面,网上查  了一下各种说法  都有,  我只做了如下的配  置就好了,下载个中文包,改一下i18    n就完事了,并没有那么复杂</content>
        <date>2016-1-12</date>
    </item>
</DOCUMENT>

update.php

<?php
    function actionGetXml(){
        $xmlpath = 'test.xml';
        $xml = new DOMDocument("1.0","UTF-8");
        $xml->load($xmlpath);
        $root = $xml->documentElement;
        // 获取标签总数
        $nodes = $root->getElementsByTagName("item");
        for($i=0;$i<=$nodes->length;$i++){
            // 指定content标签,并获取content标签内容通过delTrim()方法去除所有空格
            $str = $xml->getElementsByTagName("content")->item($i);
            // $str->nodeValue = "这里是要修改的内容";
            $str->nodeValue = $this->delTrim($str->nodeValue);
            $xml->save("test.xml");
        }
    }

    //删除空格
    function delTrim($object) {
        $search = array(" ", " ", "\t", "\n", "\r");
        $replace = array("", "", "", "", "");
        return str_replace($search, $replace, $object);
    }
?>