php中DOMDocument与SimpleXML创建与解析xml程序
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-20 14:07:47 浏览: 评论:0
通过DOM扩展创建一个DOMDocument对象,通过DOMDocument对象的方法向文档添加元素,最后通过save()或saveXML()方法来生成文档,也可以通过SimpleXML来快速解析xml文档.
例子:DOM XML 解析器函数是 PHP 核心的组成部分,无需安装就可以使用这些函数.
XML文件,将在我们的例子中使用下面的 XML 文件,代码如下:
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <note>
- <to>George</to>
- <from>John</from>
- <heading>Reminder</heading>
- <body>Don't forget the meeting!</body>
- </note>
加载和输出 XML,我们需要初始化 XML 解析器,加载 XML,并把它输出,例子代码如下:
- <?php
- $xmlDoc = new DOMDocument();
- $xmlDoc->load("note.xml");
- print $xmlDoc->saveXML();
- ?>
- //以上代码的输出:
- //George John Reminder Don't forget the meeting
假如您在浏览器窗口中查看源代码,会看到下面这些 HTML,代码如下:
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <note>
- <to>George</to>
- <from>John</from>
- <heading>Reminder</heading>
- <body>Don't forget the meeting!</body>
- </note>
上面的例子创建了一个 DOMDocument-Object,并把 "note.xml" 中的 XML 载入这个文档对象中.
saveXML() 函数把内部 XML 文档放入一个字符串,这样我们就可以输出它.例子代码如下:
- <?php
- //创建一个新文档
- $dom = new DOMDocument('1.0');
- //创建根元素book,并将其添加到文档中
- $book = $dom->appendChild($dom->createElement('book'));
- //创建一个title元素,并将其添加到$book中
- $title = $book->appendChild($dom->createElement('title'));
- $title->appendChild($dom->createTextNode('Php Book'));
- //为title元素的添加属性cover,属性值soft
- $title->setAttribute('cover','soft');
- //创建author元素,并将其添加到$book中
- $kaifabu = $book->appendChild($dom->createElement('author'));
- //为author元素添加文本
- $kaifabu->appendChild($dom->createTextNode('kaifabu'));
- //创建author元素,并将其添加到$book中
- $kaifabu = $book->appendChild($dom->createElement('author'));
- //为author元素添加文本
- $kaifabu->appendChild($dom->createTextNode('Younker'));
- //将格式化的DOM文档输出为XML
- $dom->formatOutput = true;
- //生成books.xml文件
- $dom->save('books.xml');
- //此步把生成的XML以字符串形式显示
- echo htmlentities($dom->saveXML());
- ?>
- //输出结果如下:
- //开源代码phpfensi.com
- <?xml version="1.0" ?>
- <book>
- <title cover="soft">Php Book</title>
- <author>kaifabu</author>
- <author>Younker</author>
- </book>
注:如果上面生成XML这步改成$dom->save(‘books.xml’);直接生成一个books.xml文件.
下面我们利用simplexml来解析xml文件
SimpleXML 函数允许您把 XML 转换为对象,通过普通的属性选择器或数组迭代器,可以处理这个对象,就像处理任何其他对象一样.
其中的一些函数需要最新的 PHP 版本。
安装:SimpleXML 函数是 PHP 核心的组成部分,无需安装即可使用这些函数,代码如下:
- <?php
- //使用SimpleXML扩展解析XML文档,解析出来是一个对象,可以通过对象获取它的元素内容
- $sx = simplexml_load_file('books.xml');
- //获取title标签的内容
- $title = $sx->title;
- //因为有两个author元素,通过循环获取每个author元素内容
- $authors = '';
- foreach($sx->author as $author)
- {
- $authors .= '&' . $author;
- }
- $authors = substr($authors, 1);
- echo $title . ':' . $authors;
- ?>
- //输出结果如下:
- //Php Book:kaifabu&Younker
PHP:指示支持该函数的最早的 PHP 版本.
SimpleXML函数
__construct() 创建一个新的 SimpleXMLElement 对象。 5
addAttribute() 给 SimpleXML 元素添加一个属性。 5
addChild() 给 SimpleXML 元素添加一个子元素。 5
asXML() 从 SimpleXML 元素获取 XML 字符串。 5
attributes() 获取 SimpleXML 元素的属性。 5
children() 获取指定节点的子。 5
getDocNamespaces() 获取 XML 文档的命名空间。 5
getName() 获取 SimpleXML 元素的名称。 5
getNamespaces() 从 XML 数据获取命名空间。 5
registerXPathNamespace() 为下一次 XPath 查询创建命名空间语境。 5
simplexml_import_dom() 从 DOM 节点获取 SimpleXMLElement 对象。 5
simplexml_load_file() 从 XML 文档获取 SimpleXMLElement 对象。 5
simplexml_load_string() 从 XML 字符串获取 SimpleXMLElement 对象。 5
Tags: DOMDocument SimpleXML xml程序
- 上一篇:php中操作xml文档程序代码
- 下一篇:PHP生成XML格式数据与解析xml数据
相关文章
- ·PHP操作XML的知识点记录DOMDocument(2014-08-20)
- ·php xmlreader simplexml DOMDocument等读取xml的例子(2015-04-08)
- ·php5的simplexml解析错误(2013-11-13)
- ·php中simplexml_load_string使用实例(2014-08-20)
- ·php中SimpleXML生成与解析xml文件(2014-08-20)
- ·PHP simplexml使用方法详解(2014-08-20)
- ·php simpleXML添加CDATA格式数据(2014-08-20)
- ·php Simplexml_Load_file解析xml详细实例(2014-08-20)
- ·php的SimpleXML方法读写XML接口文件实例解析(2021-02-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)