博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML详解二XML的解析与创建
阅读量:7072 次
发布时间:2019-06-28

本文共 2639 字,大约阅读时间需要 8 分钟。

XML用来传输和存储数据,如何解析获取到的XML文本呢?

一.解析XML

创建demo.xml文件:

php
php入门到放弃
java
java入门到放弃
C
C入门到放弃

使用PHP解析demo.xml中的内容,以获取到php这个文本节点为例:

load('demo.xml'); //载入要解析的xml文档 $titleList = $dom->getElementsByTagName('title'); DOMNodeList Object ( [length] => 3 ) 获取节点列表对象 $title = $titleList->item(0); //DOMElement Object 获取子节点对象 $title = $title->childNodes; //DOMNodeList Object ( [length] => 1 )获取子节点列表对象 $title = $title->item(0); //DOMText Object 获取到文本对象 $text = $title->wholeText; //获取到文本内容 echo $text; //php echo '
'; //也可以直接写成连贯操作: $text = $dom->getElementsByTagName('title')->item(0)->childNodes->item(0)->wholeText; echo $text; //php echo '
'; //第二种方法: $text = $dom->getElementsByTagName('title')->item(0)->nodeValue; //获取到文本内容 echo $text; //php

除了解析之外,还可以对xml节点进行删除和替换操作:

$dom = new DOMDocument('1.0','UTF-8');    $dom->load('demo.xml'); //载入要解析的xml文档    /**     *xml删除节点     * */    $php = $dom->getElementsByTagName('book')->item(0); //获取文本节点    $php->parentNode->removeChild($php); //获取文本节点的父节点,然后站在父节点的立场删除子文本节点    /**     * xml替换节点     * */    $java = $dom->getElementsByTagName('title')->item(0); //获取要替换的文本节点    $newnode = $dom->createTextNode('python'); //创建新的文本节点    $java->replaceChild($newnode,$java->firstChild); //用新节点替换旧文本节点内容    header("content-type:text/xml");    echo $dom->saveXML(); //直接输出xml文本     

二.创建XML

使用PHP创建一个如下的XML文件:

php

PHP代码:

createTextNode('php'); //创建文本节点 $title = $dom->createElement('title'); //创建普通节点 $title->appendChild($text); //将文本节点作为子节点添加到普通节点内 $cdata = $dom->createCDATASection('PHP是世界上最好的编程语言.emmm...'); //创建CDATA节点 $author = $dom->createElement('author'); //创建普通节点 $author->appendChild($cdata); //将CDATA节点作为子节点添加到普通节点内 $book = $dom->createElement('book'); //创建普通节点 //将上面创建的两个普通节点作为子节点添加到普通节点内 $book->appendChild($title); $book->appendChild($author); $book_id = $dom->createAttribute('book_id'); //创建属性名 $book_id->value = '1'; //创建属性值 $book->appendChild($book_id); //将属性加到普通节点内 $bookstore = $dom->createElement('bookstore'); //创建普通节点 $bookstore->appendChild($book); //将普通节点作为子节点添加到普通节点内 $dom->appendChild($bookstore); //将普通节点添加到文档内 // header("content-type:text/xml"); // echo $dom->saveXML(); //直接输出xml文本 echo $dom->save('demo.xml'); //生成xml文件

在浏览器输出如下图:

 

转载于:https://www.cnblogs.com/52lnamp/p/9817468.html

你可能感兴趣的文章
openstack概述
查看>>
How To Detect Which Element Was Clicked, Using jQuery
查看>>
javascript & jQuery
查看>>
DW快速去除tppabs冗余代码
查看>>
Java8新特性之:新的日期和时间API
查看>>
如何才能从程序员成长为实战型架构师?必掌握这7大实战技能经验
查看>>
rabbitMQ集群的搭建和维护第二篇---利用python程序完成mq的消息收发和实时监控
查看>>
网众设置开机重启服务的命令,才可连接BOOT服务器
查看>>
RHEL6.3 DNS配置详解一 DNS相关概念理解及配置基础
查看>>
Windows环境 和 Linux环境下搭建Qt开发环境
查看>>
简述synchronized和java.util.concurrent.locks.Lock的异同
查看>>
在win2008r2下开启ntp服务
查看>>
我的友情链接
查看>>
SpringMVC源码解析(三)——HandlerAdapter
查看>>
Python执行系统命令的方法
查看>>
动态加载远程Jar的实现方式
查看>>
无线***笔记(一)-《***WPA-PSK加密无线网络》
查看>>
MyEclipse10.1集成SVN
查看>>
Sitemesh和Struts2结合时Filter的配制顺序
查看>>
【python】编程语言入门经典100例--19
查看>>