为了账号安全,请及时绑定邮箱和手机立即绑定

php操作xml小结

标签:
PHP

<?php

#php操作xml,SimpleXMLElement类小结


header('Content-type:text/html;charset=utf-8;');

//1.构造函数

/*

$xmlstring=<<<XML

<?xml version="1.0" encoding="utf-8"?>

<note  xmlns:b="http://www.w3school.com.cn/example/">>

<to>虎哥</to>

<from>John</from>

<heading>Reminder</heading>

<body>Dont forget the meeting!</body>

</note>

XML;

*/

$xmlstring=<<<XML

<?xml version="1.0" encoding="ISO-8859-1"?>

<note xmlns:b="http://www.w3school.com.cn/example/">

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<b:body>Dont forget the meeting!</b:body>

</note>

XML;




$xml=new SimpleXMLElement($xmlstring);//实例化类

// $xml=simplexml_load_file('test.xml');//通过文件加载来实例化类

// $xml=simplexml_load_string(data):通过XML字符串载入对象。

echo $xml->to;//访问属性

echo '<br>';


//添加属性

//addAtribute(name,value,ns):函数给SimpleXML元素添加一个属性

//name,规定属性名

//value,规定属性值

//ns,规定属性的命名空间

#$xml->body->addAttribute('sex','男');

echo '<br>';

/*访问属性

foreach ($xml->body[0]->attributes() as $key=>$val) {

echo "$key=$val";

echo '<br>';

}

*/


//添加一个子节点

//addChild(name,value,ns):先xml添加一个子节点

#$xml->body->addChild('date','2014-08-01');

/*访问子节点

foreach ($xml->body->children() as $child) {

echo "Child node: " . $child;

}

echo '<br>';

*/


// asXml(file):函数以字符串的形式从SimpleXMLElement对象返回XML文档

//file:可选,如果规定了这个参数将直接写入指定的文档

// 失败,返回false

echo $xml->asXML();

echo '<br>';

// attributes():函数获取SimpleXML元素的属性


//children():函数获取指定节点的子节点


// getDocNamespace():函数从SimpleXMLElement对象返回

// 在XML文档中声明的命名空间

print_r($xml->getDocNamespaces());

echo '<br>';


// getName():函数从SimpleXMLElement对象获取XML元素的名称,

// 如果成功,该函数返回XML元素的名称,如果失败,则返回false

echo $xml->getName();

echo '<br>';


// getNamespace:函数获取在XML文档中使用的命名空间


//registerXPathNamespace(prefix,ns):函数为下一次XPath查询创建命名空间语境

// prefix:必须,规定命名空间的前缀

// ns:必须,规定命名空间URL,必须匹配XML文档中的命名空间,eg.

$xml->registerXPathNamespace('msg','http://www.w3school.com.cn/example/');

$result=$xml->xpath('msg:body');

print_r($result);

echo '<br>';


// xpath(path):函数运行对XML文档的Xpath查询,如果成功则返回一个SimpleXMLElement对象的一个数组。

// 如果失败,则返回false。


//simplexml_import_dom(node):函数把Dom节点转换为SimpleXMLElement对象,如果失败返回false。

$dom = new domDocument();

$dom->loadXML('<note><from>John</from></note>');

$xml = simplexml_import_dom($dom);

echo $xml->from;

?>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消