返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP如何操作XML
  • 568
分享到

PHP如何操作XML

2023-06-30 16:06:55 568人浏览 泡泡鱼
摘要

本篇内容介绍了“PHP如何操作XML”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php操作XML<?xml version

本篇内容介绍了“PHP如何操作XML”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

php操作XML

<?xml version="1.0" encoding="utf-8"?><article>    <item>        <title size="1">title1</title>        <content>content1</content>        <pubdate>2009-10-11</pubdate>    </item>    <item>        <title size="1">title2</title>        <content>content2</content>        <pubdate>2009-11-11</pubdate>    </item></article>

直接生成字符串

方法1:使用纯粹的php代码生成字符串,并把这个字符串写入一个以XML为后缀的文件。这是最原始的生成XML的方法,不过有效!

PHP代码如下:

<?PHP$data_array = array(    array(    'title' => 'title1',    'content' => 'content1',        'pubdate' => '2009-10-11',    ),    array(    'title' => 'title2',    'content' => 'content2',    'pubdate' => '2009-11-11',    ));$title_size = 1; $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";$xml .= "<article>\n"; foreach ($data_array as $data) {$xml .= create_item($data['title'], $title_size, $data['content'], $data['pubdate']);} $xml .= "</article>\n"; echo $xml; //  创建XML单项function create_item($title_data, $title_size, $content_data, $pubdate_data){    $item = "<item>\n";    $item .= "<title size=\"" . $title_size . "\">" . $title_data . "</title>\n";    $item .= "<content>" . $content_data . "</content>\n";    $item .= " <pubdate>" . $pubdate_data . "</pubdate>\n";    $item .= "</item>\n";     return $item;} ?>

DomDocument

方法2:使用DomDocument生成XML文件

创建节点使用createElement方法,

创建文本内容使用createTextnode方法,

添加子节点使用appendChild方法,

创建属性使用createAttribute方法

PHP代码如下:

<?PHP$data_array = array(    array(    'title' => 'title1',    'content' => 'content1',        'pubdate' => '2009-10-11',    ),    array(    'title' => 'title2',    'content' => 'content2',    'pubdate' => '2009-11-11',    )); //  属性数组$attribute_array = array(    'title' => array(    'size' => 1    )); //  创建一个XML文档并设置XML版本和编码。。$dom=new DomDocument('1.0', 'utf-8'); //  创建根节点$article = $dom->createElement('article');$dom->appendchild($article); foreach ($data_array as $data) {    $item = $dom->createElement('item');    $article->appendchild($item);     create_item($dom, $item, $data, $attribute_array);} echo $dom->saveXML(); function create_item($dom, $item, $data, $attribute) {    if (is_array($data)) {        foreach ($data as $key => $val) {            //  创建元素            $$key = $dom->createElement($key);            $item->appendchild($$key);             //  创建元素值            $text = $dom->createTextNode($val);            $$key->appendchild($text);             if (isset($attribute[$key])) {            //  如果此字段存在相关属性需要设置                foreach ($attribute[$key] as $akey => $row) {                    //  创建属性节点                    $$akey = $dom->createAttribute($akey);                    $$key->appendchild($$akey);                     // 创建属性值节点                    $aval = $dom->createTextNode($row);                    $$akey->appendChild($aval);                }            }   //  end if        }    }   //  end if}   //  end function?>

XMLWriter

方法3:使用XMLWriter类创建XML文件

此方法在PHP 5.1.2后有效

另外,它可以输出多种编码的XML,但是输入只能是utf-8

PHP代码如下:

<?PHP$data_array = array(    array(    'title' => 'title1',    'content' => 'content1',        'pubdate' => '2009-10-11',    ),    array(    'title' => 'title2',    'content' => 'content2',    'pubdate' => '2009-11-11',    )); //  属性数组$attribute_array = array(    'title' => array(    'size' => 1    )); $xml = new XMLWriter();$xml->openUri("php://output");//  输出方式,也可以设置为某个xml文件地址,直接输出成文件$xml->setIndentString('  ');$xml->setIndent(true); $xml->startDocument('1.0', 'utf-8');//  开始创建文件//  根结点$xml->startElement('article'); foreach ($data_array as $data) {    $xml->startElement('item');     if (is_array($data)) {        foreach ($data as $key => $row) {          $xml->startElement($key);           if (isset($attribute_array[$key]) && is_array($attribute_array[$key]))          {              foreach ($attribute_array[$key] as $akey => $aval) {              //  设置属性值                    $xml->writeAttribute($akey, $aval);                }             }             $xml->text($row);   //  设置内容            $xml->endElement(); // $key        }     }    $xml->endElement(); //  item} $xml->endElement(); //  article$xml->endDocument(); $xml->flush();?>

SimpleXML

方法4:使用SimpleXML创建XML文档

<?PHP$data_array = array(    array(    'title' => 'title1',    'content' => 'content1',        'pubdate' => '2009-10-11',    ),    array(    'title' => 'title2',    'content' => 'content2',    'pubdate' => '2009-11-11',    )); //  属性数组$attribute_array = array(    'title' => array(    'size' => 1    )); $string = <<<XML<?xml version='1.0' encoding='utf-8'?><article></article>XML; $xml = simplexml_load_string($string); foreach ($data_array as $data) {    $item = $xml->addChild('item');    if (is_array($data)) {        foreach ($data as $key => $row) {          $node = $item->addChild($key, $row);           if (isset($attribute_array[$key]) && is_array($attribute_array[$key]))            {              foreach ($attribute_array[$key] as $akey => $aval) {             //  设置属性值                  $node->addAttribute($akey, $aval);            }          }        }    }}echo $xml->asXML();?>

“PHP如何操作XML”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: PHP如何操作XML

本文链接: https://lsjlt.com/news/330367.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP如何操作XML
    本篇内容介绍了“PHP如何操作XML”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php操作XML<xml version=...
    99+
    2023-06-30
  • C#.NET如何操作XML
    小编给大家分享一下C#.NET如何操作XML,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何让C#.NET操作XML?需要添加的命名空间:using System.Xml;要完成C#.NET操作XML,首先定义...
    99+
    2023-06-18
  • Python如何操作XML文件
    这篇文章主要介绍“Python如何操作XML文件”,在日常操作中,相信很多人在Python如何操作XML文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何操作XML文件”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • 使用php操作xml教程
    php操作xml 最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星期的基本语法后做些小练习热热身,但是期间...
    99+
    2024-04-02
  • PHP中的XML操作指南
    PHP中的XML操作指南XML(可扩展标记语言)是一种非常流行的数据交换格式,在Web开发中被广泛使用。在PHP中,可以轻松地读取、创建和修改XML文档。本文将为您介绍如何在PHP中使用XML。读取XML在PHP中,使用SimpleXML扩...
    99+
    2023-05-21
    PHP xml 操作指南 (操作指南可能不是一个专业编程术语 但可以理解为"操作指南"在该文章中充当
  • python如何通过ElementTree操作XML
    这篇文章主要介绍“python如何通过ElementTree操作XML”,在日常操作中,相信很多人在python如何通过ElementTree操作XML问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho...
    99+
    2023-07-02
  • PHP操作XML的教程详解
    php操作XML <xml version="1.0" encoding="utf-8"> <article> <item> ...
    99+
    2024-04-02
  • Python操作xml
    Xml XML指可扩展标记语言(Extensible Markup Language) XML被设计用于结构化、存储和传输数据 XML是一种标记语言,很类似于HTML XML没有像HTML那样具有预定义标签,需要程序员自定义标签。 ...
    99+
    2023-01-31
    操作 Python xml
  • java 如何使用org.w3c.dom操作XML文件
    本篇介绍在java中,如何使用org.w3c.dom中的相关内容来操作XML文件。包括: 如何在内存中构建XML文件并写入磁盘; 如何从磁盘读取XML文件到内存; ...
    99+
    2024-04-02
  • python操作Xml文件
    一、简单介绍Xml是实现不同语言或程序进行数据交换的协议,跟json差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:<Settings modified="2016-...
    99+
    2023-01-31
    操作 文件 python
  • C#如何使⽤XmlReader和XmlWriter操作XML⽂件
    本文小编为大家详细介绍“C#如何使⽤XmlReader和XmlWriter操作XML⽂件”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#如何使⽤XmlReader和XmlWriter操作XML⽂件”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-06-30
  • python通过ElementTree操作XML
    1.引入库 需要用到3个类,ElementTree,Element以及建立子类的包装类SubElement from xml.etree.ElementTree import Ele...
    99+
    2024-04-02
  • python使用dom操作xml
    1、xml的内容为del.xml,如下 <xml version="1.0" encoding="utf-8"> <catalog> <maxid>4</maxid> &...
    99+
    2023-01-31
    操作 python dom
  • Python+Xml +操作+增删改查
    由于小编的系统需要进程间通信,想通过对Xml文件操作,来进行信息交互,于是写了一组相关的类。 xml文件: <xml version='1.0' encoding='utf-8'> <flags> ...
    99+
    2023-01-31
    操作 Python Xml
  • C#操作XML方法详解
    目录 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(...
    99+
    2024-04-02
  • 利用dom4j如何实现操作xml文件中的demo
    本篇文章为大家展示了利用dom4j如何实现操作xml文件中的demo,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。废话不多说,直接上代码package com.cn.shop.util;import...
    99+
    2023-05-31
    dom4j xml demo
  • PHP如何实现覆盖操作
    这篇文章主要为大家展示了“PHP如何实现覆盖操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现覆盖操作”这篇文章吧。PHP 覆盖(Overwrit...
    99+
    2024-04-02
  • php中如何操作使用protobuf
    这篇文章主要介绍“php中如何操作使用protobuf”,在日常操作中,相信很多人在php中如何操作使用protobuf问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中如何操作使用protobuf”的疑...
    99+
    2023-06-25
  • php事务删除如何操作
    这篇文章主要介绍了php事务删除如何操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php事务删除如何操作文章都会有所收获,下面我们一起来看看吧。php事务删除的操作方法:1、利用“autocommit(fa...
    99+
    2023-07-04
  • 如何用php操作数据库
    今天小编给大家分享一下如何用php操作数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。增加数据在PHP中,添加数据通常是...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作