PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP对XML内容进行修改和删除实例代码

管理员 2025-03-08
工作总结
63

在 PHP 中,可以使用 DOMDocument 类对 XML 内容进行修改和删除操作。DOMDocument 提供了丰富的 API,可以方便地操作 XML 文档的节点。以下是详细的实例代码。


1. 修改 XML 内容

修改 XML 内容的基本步骤如下:

  1. 加载 XML 文件或字符串。

  2. 使用 XPath 或 DOM 方法定位需要修改的节点。

  3. 修改节点的值或属性。

  4. 保存修改后的 XML。

示例代码

php
复制
<?php$xmlString = <<<XML<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book>
</books>XML;// 创建 DOMDocument 对象$dom = new DOMDocument();$dom->loadXML($xmlString);// 使用 XPath 定位节点$xpath = new DOMXPath($dom);// 修改 id 为 1 的书的标题$node = $xpath->query('/books/book[@id="1"]/title')->item(0);if ($node) {
    $node->nodeValue = 'PHP for Beginners';}// 修改 id 为 2 的书的年份$node = $xpath->query('/books/book[@id="2"]/year')->item(0);if ($node) {
    $node->nodeValue = '2023';}// 输出修改后的 XMLecho $dom->saveXML();?>

输出

xml
复制
<books>
    <book id="1">
        <title>PHP for Beginners</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2023</year>
    </book></books>

2. 删除 XML 节点

删除 XML 节点的基本步骤如下:

  1. 加载 XML 文件或字符串。

  2. 使用 XPath 或 DOM 方法定位需要删除的节点。

  3. 删除节点。

  4. 保存修改后的 XML。

示例代码

php
复制
<?php$xmlString = <<<XML<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book>
</books>XML;// 创建 DOMDocument 对象$dom = new DOMDocument();$dom->loadXML($xmlString);// 使用 XPath 定位节点$xpath = new DOMXPath($dom);// 删除 id 为 1 的书$node = $xpath->query('/books/book[@id="1"]')->item(0);if ($node) {
    $node->parentNode->removeChild($node);}// 输出修改后的 XMLecho $dom->saveXML();?>

输出

xml
复制
<books>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book></books>

3. 修改 XML 属性

修改 XML 属性的基本步骤如下:

  1. 加载 XML 文件或字符串。

  2. 使用 XPath 或 DOM 方法定位需要修改的节点。

  3. 修改节点的属性。

  4. 保存修改后的 XML。

示例代码

php
复制
<?php$xmlString = <<<XML<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book>
</books>XML;// 创建 DOMDocument 对象$dom = new DOMDocument();$dom->loadXML($xmlString);// 使用 XPath 定位节点$xpath = new DOMXPath($dom);// 修改 id 为 2 的书的 id 属性$node = $xpath->query('/books/book[@id="2"]')->item(0);if ($node) {
    $node->setAttribute('id', '3');}// 输出修改后的 XMLecho $dom->saveXML();?>

输出

xml
复制
<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="3">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book></books>

4. 添加 XML 节点

添加 XML 节点的基本步骤如下:

  1. 加载 XML 文件或字符串。

  2. 使用 XPath 或 DOM 方法定位父节点。

  3. 创建新节点并添加到父节点。

  4. 保存修改后的 XML。

示例代码

php
复制
<?php$xmlString = <<<XML<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
</books>XML;// 创建 DOMDocument 对象$dom = new DOMDocument();$dom->loadXML($xmlString);// 使用 XPath 定位父节点$xpath = new DOMXPath($dom);// 定位 books 节点$booksNode = $xpath->query('/books')->item(0);// 创建新书节点$newBook = $dom->createElement('book');$newBook->setAttribute('id', '2');$title = $dom->createElement('title', 'Advanced PHP');$author = $dom->createElement('author', 'Jane Smith');$year = $dom->createElement('year', '2022');$newBook->appendChild($title);$newBook->appendChild($author);$newBook->appendChild($year);// 将新书节点添加到 books 节点$booksNode->appendChild($newBook);// 输出修改后的 XMLecho $dom->saveXML();?>

输出

xml
复制
<books>
    <book id="1">
        <title>PHP Basics</title>
        <author>John Doe</author>
        <year>2021</year>
    </book>
    <book id="2">
        <title>Advanced PHP</title>
        <author>Jane Smith</author>
        <year>2022</year>
    </book></books>

5. 总结

操作方法说明
修改节点内容$node->nodeValue = '新值'修改节点的值
删除节点$node->parentNode->removeChild($node)删除指定节点
修改属性$node->setAttribute('属性名', '新值')修改节点的属性
添加节点$dom->createElement() 和 $node->appendChild()创建新节点并添加到父节点

通过以上方法,可以轻松实现 PHP 中对 XML 内容的修改和删除操作。



本文关键词: PHP XML 内容 进行 修改 删除

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部