php XML 读写 创建
一 、XML 读
1.1、 首先同目录定义好一个XML文件 :
book.xml
<?xml version="1.0" encoding="utf-8"?>
<books>
<book>
<id>1</id>
<name>书本001</name>
</book>
<book>
<id>2</id>
<name>书本002</name>
</book>
<book>
<id>3</id>
<name>书本003</name>
</book>
<title>这是标题</title>
</books>
1.2 通过 getElementsByTagName 读取XML
$xml=new DOMDocument();
$xml->load("book.xml");
// 通过 getElementsByTagName 读取
foreach($xml->getElementsByTagName('book') as $book)
{
$id=$book->getElementsByTagName("id");
$name=$book->getElementsByTagName("name");
echo "id:".$id->item(0)->nodeValue.",name:".$name->item(0)->nodeValue."<br/>";
}
1.3 通过 simplexml_import_dom 直接读取属性
// 通过simplexml_import_dom 直接读取属性
$simplexml = simplexml_import_dom($xml);
echo "sid->title:".$simplexml->title;
echo "the id is :".$simplexml->book[0]->id;
echo "the id is :".$simplexml->title;
二 、XML 创建
2.1、通过 字符串 创建XML document 元素
$xmlString=<<<XML
<?xml version="1.0" encoding="utf-8"?>
<books>
<book>
<id>1</id>
<name>书本001</name>
</book>
<book>
<id>2</id>
<name>书本002</name>
</book>
<book>
<id>3</id>
<name>书本003</name>
</book>
<title>这是标题</title>
</books>
XML; $dom=new DomDocument;
$dom->loadXML($xmlString);
2.2 通过 DOMDocument api 创建XML 对象 ( 子节点,节点属性 ,CDATA属性值标记)
class buildXml
{ /*
* 创建一个XML元素
* */
private function createXml()
{
$dom = new DOMDocument("1.0");
$books = $dom->createElement("books"); for ($i = 0; $i < 4; $i++) {
$book = $dom->createElement("book"); // 为book 节点添加一个属性
$price = $dom->createAttribute("price");
$priceValue = $dom->createTextNode($i * 10);
$price->appendChild($priceValue);
$book->appendChild($price); // 添加一个id 接点元素 并赋值
$id = $dom->createElement("id");
$idValue = $dom->createTextNode($i);
$id->appendChild($idValue);
$book->appendChild($id); // 添加一个待 CDATA标识的内容
$title = $dom->createElement("title");
$titleValue = $dom->createCDATASection("这是一个带CDATA标签的内容");
$title->appendChild($titleValue);
$book->appendChild($title);
$books->appendChild($book);
} $dom->appendChild($books);
return $dom->saveXML();
} // 输出XML
public function printXML()
{
header("Content-Type: text/xml");
echo $this->createXml();
} // 保存XML
public function saveXML()
{
$result = false;
try {
//打开要写入 XML数据的文件
$fp = fopen("newxml.xml", "w");
//写入 XML数据
fwrite($fp, $this->createXml());
//关闭文件
fclose($fp);
$result = true;
} catch (Exception $e) {
print $e->getMessage();
exit();
}
return $result;
}
}
2.3 http 输出 XML
require_once "buildXml.php";
$xml = new buildXml;
echo $xml->printXML();
2.4 已文件形式保存 XML
require_once "buildXml.php"; $xml = new buildXml;
$xml->saveXML();
php XML 读写 创建的更多相关文章
- .NET 对 XML 进行创建,增加,删除,修改操作整理
前言: 最近做了一个项目,程序A在一个服务器程序B在另一台服务器,然而主程序A需要访问程序B的图片集文件夹下载到本服务器上,为了防止多次对Web Services进行调用,在主程序A中创建一个XML文 ...
- 【Python】Python XML 读写
class ACTIVE_FILE_PROTECT_RULE_VIEW(APIView): renderer_classes = (JSONRenderer, BrowsableAPIRenderer ...
- Java 操纵XML之创建XML文件
Java 操纵XML之创建XML文件 一.JAVA DOM PARSER DOM interfaces The DOM defines several Java interfaces. Here ar ...
- XML读写工具
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import j ...
- UE4 Xml读写
UE4自带一个XmlParser,可以很方便的实现Xml的读写. 1,在PublicDependencyModuleNames.AddRange中添加XmlParser. 2,include XmlP ...
- C# XML读写实例
一.使用System.Xml 实例:完成如下格式配置文件的读写操作: <?xml version="1.0" encoding="UTF-8"?> ...
- xml读写文件实例
在某个通讯中需要向服务器发送请求xml,格式例子如下: <?xml version="1.0" encoding="UTF-8"?> <ROO ...
- 网站的配置文件XML读写
网站的配置信息一般都写入到XML中,以下是简单的对xml的读写操作,仅供参考. 读操作: XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettin ...
- Android开发之XML的创建和解析
参考:http://blog.csdn.net/pi9nc/article/details/9320413 XML文件的解析,代码: public void click(View v) { Input ...
随机推荐
- ActiveReports 9实战教程(3): 图文并茂的报表形式
基于上面2节内容,我们搭建了AR9的开发环境,配置好了数据源.在本节,我们以官方提供的3个中文图文并茂的报表来展示AR9的功能,并通过实战的方式一一分享. 以往做报表相关的工作时,最害怕的是报表的UI ...
- [BTS] Exception occurred when persisting state to the database
Error 1 Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'J ...
- IIS7.5 HTTP错误403.1-Forbidden 您尝试从某个目录运行CGI、ISAPI或其他可执行程序,但该目录不允许运行可执行文件
----------------错误详细---------------------------------------------------------------- --------------- ...
- H5常用代码:页面框架
万变不离其宗,道法自然! 虽然H5的小项目一波又一波,但有一个东东基本没什么变化,那就是整个页面的框架结构. 我所常用的H5常用页面框架如下: <!DOCTYPE html> <ht ...
- 一个比较常用的关于php下的mysql数据操作类
<?php /************************************************************* MySql类封装: 首先连接数据库,需要有参数 参数如何 ...
- atitit.技术选型方法总结为什么java就是比.net有前途
atitit.技术选型方法总结为什么java就是比.net有前途 #----按照不同的需要有不铜的法... 一般有开发效率,稳定性上的需要.. 作者 老哇的爪子 Attilax 艾龙, EMAIL: ...
- React访问组件元素的子元素(ES5与ES6的对比)
// 创建组件var NewDom = React.createClass({ // 类名一定要大写开头 render: function () { return ( <ol> { Rea ...
- linux下安装小鹤双拼-鹤形
首先安装小小拼音.发现小小拼音真是一个良心软件 http://yong.dgod.net/ 进入下载页面.我是下载 解压版的 解压缩后.放在主目录里.可以改成.yong 隐藏起来 安装步骤(前人栽树, ...
- iOS crash 异常捕获
// // UncaughtExceptionHandler.m // UncaughtExceptions // // Created by Matt Gallagher on 2010/05 ...
- IOS适配
• Default.png(图片尺寸为320x480):显示在非Retina-3.5英寸屏幕上(iPhone3G\iPhone3GS,屏幕分辨率为320x480) • Default@2x.png(图 ...