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 ...
随机推荐
- [C++] 将 mp3 等音乐资源以资源形式嵌入 exe 文件中
引用:http://www.easyx.cn/skills/View.aspx?id=6 本文讲解怎样将 mp3 等音乐资源以资源形式嵌入 exe 文件中,并通过 mciSendString 调用.嵌 ...
- [游戏学习28] MFC 时钟
>_<:这是一个时钟小程序 >_<:通过调用获得系统时间然后经过计算得出当前时间,然后再以3个圆环表示时分秒. >_<:TAO_CLOCK.h class CMyA ...
- [JS11] 状态栏滚动
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 只有好的棋手才会走运-《打造Facebook》读后感
王淮的<打造Facebook>一书不厚,花半天时间轻松读完.书中没有大段的说教,只有近乎流水的陈述.正如作者所说,打造Facebook这本书由巴克伯格来写再合适不过.可惜他至少在近几年内没 ...
- 如何设置iframe高度自适应,在跨域的情况下能做到吗?
在页面上使用iframe来动态加载页面内容是网页开发中比较常见的方法.在父页面中给定一个不带滚动条的iframe,然后对属性src指定一个可加载的页面,这样当父页面被访问的时候,子页面可以被自动加载. ...
- SpringMVC实现一个controller写多个方法
MultiActionController与ParameterMethodNameResolver在一个Controller类中定义多个方法,并根据使用者的请求来执行当中的某个方法,相当于Struts ...
- iOS开发--JSON
1.什么是JSON? JSON(JavaScript Object Notation)在网络传输中几乎无处不在,JSON是一种轻量级的数据交换格式,是基于JavaScript(Standard ECM ...
- C#:通过Visual Studio项目预生成命令获取SVN版本号
之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...
- 喜大普奔!Fanvas正式对外开源了,一键把Flash转为Canvas动画!移动终端动画开发不再困难。
http://code.tencent.com/ https://github.com/TencentOpen/Fanvas DEMO: http://kenkozheng.github.io/fan ...
- Leetcode 121 Best Time to Buy and Sell Stock 动态规划
由于题意太长,请自己翻译,很容易懂的. 做法:从前向后遍历数组,记录当前出现过的最低价格,作为买入价格,并计算以当天价格出售的收益,作为可能的最大收益,整个遍历过程中,出现过的最大收益就是所求.动态规 ...