php 解析xml
2016-06-06 00:00
489 查看
摘要: xml xmlns php
<?php
function parseNamespaceXml($xmlstr)
{
$xmlstr = preg_replace('/\sxmlns="(.*?)"/', ' _xmlns="${1}"', $xmlstr);
$xmlstr = preg_replace('/<(\/)?(\w+):(\w+)/', '<${1}${2}_${3}', $xmlstr);
$xmlstr = preg_replace('/(\w+):(\w+)="(.*?)"/', '${1}_${2}="${3}"', $xmlstr);
$xmlobj = simplexml_load_string($xmlstr);
return json_decode(json_encode($xmlobj), true);
}
$xmlstr = '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<item>
<title>My Title</title>
<description>My Item</description>
<dc:publisher>ABC</dc:publisher>
<dc:creator>DEF</dc:creator>
<dc:date>2009-02-12T16:53:25Z</dc:date>
</item>
</channel>
</rss>';
$arr = parseNamespaceXml($xmlstr);
echo "<pre>";
print_r($arr);
<?php
function parseNamespaceXml($xmlstr)
{
$xmlstr = preg_replace('/\sxmlns="(.*?)"/', ' _xmlns="${1}"', $xmlstr);
$xmlstr = preg_replace('/<(\/)?(\w+):(\w+)/', '<${1}${2}_${3}', $xmlstr);
$xmlstr = preg_replace('/(\w+):(\w+)="(.*?)"/', '${1}_${2}="${3}"', $xmlstr);
$xmlobj = simplexml_load_string($xmlstr);
return json_decode(json_encode($xmlobj), true);
}
$xmlstr = '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<item>
<title>My Title</title>
<description>My Item</description>
<dc:publisher>ABC</dc:publisher>
<dc:creator>DEF</dc:creator>
<dc:date>2009-02-12T16:53:25Z</dc:date>
</item>
</channel>
</rss>';
$arr = parseNamespaceXml($xmlstr);
echo "<pre>";
print_r($arr);
相关文章推荐
- ThinkPHP是如何加载系统常量的?
- MySql修改密码后PhpAdmin无法登陆
- phpstorm 2016.1 激活方法
- PHP判断输入数据是否合法常用的类
- php 语言入门
- PHP学习笔记---封装(面向对象三大特性之一)
- php学习第三天----pdo操作
- 数据库config.php文件内容解释及替换方法
- php编程——验证码的实现(session方法)
- yii2分页扩展之实现跳转到具体某页
- PHPExcel 导出表格 不知道好不好用
- 高通8X16的TP笔记(二)
- Slim初体验
- zend framework多模块多Layout配置
- PHP其他系统函数
- php笔记6-函数和递归,递推
- <转>.php导出excel(多种方法)
- PHP的面向对象编程
- PHP-Fpm应用池配置
- XTEA加密,CBC模式的PHP调用方法