simplexml php,PHP下使用SimpleXML处理XML文件

以下为Messages.xml 文件内容,里面包含这样一段XML 代码:

Messages.xml

每条信息包括属性id,子节点title、content、time, 以及若干条对于它的回复信息,每条回复包括属性id 及回复的内容。

用SimpleXML 处理并输出此XML 文档内容的过程以及方法如下。

1. 构造SimpleXMLElement 对象

$xml = simplexml_load_file(‘Messages.xml’);

如果这段xml 已经被读入到一个变量$a 中,则可以使用如下语句:

$xml = simplexml_load_string($a);

2.输出留言1 的标题

//可以使用属性的方式访问子节点,通过节点的标签名可直接得到节点的内容

echo $xml->msg->title;

3.输出留言1 的第1条回复信息

//同级别的多个同名节点自动成为数组,可以通过索引下标访问其内容

echo $xml->msg->reply[0];

4.输出留言的id

//节点的属性与值被封装成为关联数组的键与值

echo $xml->msg['id'];

5.输出第二条回复的id

//成为二维数组,第一维表示节点,第二维表示属性

echo $xml->msg->reply[1][ 'id'];

6.依次输出所有回复的id

//使用 foreach 对同名节点进行遍历

foreach ($xml->msg->reply as $reply){

echo $reply['id'];

}

7.使用XPath 检索所有的回复信息

//xpath 方法直接检索定位(//表示任意深度)

foreach ($xml->xpath(‘//reply’) as $reply){

echo $reply.’
’;

}

8.遍历留言1 所有的子节点

//children 方法得到所有子节点

foreach ($xml->msg->children() as $field){

echo $field.’
’;

}

9.重新设置留言1 的发布时间

//直接设置属性

$xml->msg->time = ’2008-03-21 00:53:12′;

10.设置回复2 的id 属性

//设置管理数组的值

$xml->msg->reply[1]['id'] = ’222′;

11.新增一个描述消息作者的字段

//直接设置属性

$xml->msg->author = ‘zhangsan’;

12.将消息的作者保存为属性

//设置关联数组的key

$xml->msg['author'] = ‘zhangsan’;

13.重新保存对象到文件

//保存

$xml->asXML(‘MessagesNew.xml’);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值