首页 > 后端开发 > 正文

php如何解析多级xml报文?

2025-01-27 08:36:40 | 我爱编程网

最近经常有小伙伴私信询问php如何解析多级xml报文?相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

php如何解析多级xml报文?

PHP读取xml文件

以前做过联通或电信的service订购接口,收到的内容就是XML的,需要用到PHP的XML处理功能,你的代码可以这样:
<xmp>
<?php

$string=file_get_contents(" ");
if($string!=""):
$xml = new DomDocument('1.0');
$xml->loadXML($string);

//班台
$BanTai=array(
'Title'=>$xml->getElementsByTagName('channel')->item(0)->childNodes->item(1)->nodeValue,
'Link' =>$xml->getElementsByTagName('channel')->item(0)->childNodes->item(3)->nodeValue
);

for($i=0;$i<3;$i++)
{
$Title[]=array(
'Title'=>$xml->getElementsByTagName('item')->item($i)->childNodes->item(1)->nodeValue,
'Link' =>$xml->getElementsByTagName('item')->item($i)->childNodes->item(3)->nodeValue
);
}

print_r($BanTai);
print_r($Title);
endif;
?>
</xmp>

回答补充:

现在你直接copy,然后执行没效果吗?
我这里是可以的呢,测试网址是:service.020i.net/test_xml.php

php如何解析多级xml报文?

php如何解析多级xml报文?

在该示例中,simplexml_load_file 函数用于加载 XML 文件并将其作为 SimpleXMLElement 对象返回。然后,我们可以使用 children() 方法访问根节点的所有子节点,并使用 getName() 方法获取每个子节点的名称。接下来,我们可以继续使用 children() 方法访问每个子节点的所有子节点,以此类推,直到达到所需的级别。

通过php添加xml文档内容的方法

我爱编程网(https://www.52biancheng.com)小编还为大家带来通过php添加xml文档内容的方法的相关内容。

本文实例讲述了通过php添加xml文档内容的方法。分享给大家供大家参考。具体分析如下:
这里讲述的添加xml文档内容,从上一篇《DOM基础及php读取xml内容操作的方法》继续,代码如下:
复制代码
代码如下:<?php
//1、创建一个DOMDocument对象。该对象就表示
xml文件
$xmldoc
=
new
DOMDocument();
//2、加载xml文件(指定要解析哪个xml文件,此时dom树节点就会加载到内存中)
$xmldoc->load("class.xml");
//3、添加一条学生信息
//(1)取出要节点
$root
=
$xmldoc->getElementsByTagName("class")->item(0);//返回DOMElement对象类型
var_dump($root);
//(2)创建学生节点
student
$stu_node
=
$xmldoc->createElement("student");//返回DOMElement对象类型
$stu_node->setAttribute("id","大美女");//给创建的节点添加属性,如果有需要的话
//(3)创建名字、性别、年龄等节点
name、sex和age
$stu_node_name
=
$xmldoc->createElement("name");
$stu_node_name->nodeValue
=
"大乔";
$stu_node_sex
=
$xmldoc->createElement("sex");
$stu_node_sex->nodeValue
=
"女";
$stu_node_age
=
$xmldoc->createElement("age");
$stu_node_age->nodeValue
=
"25";
//(4)将name、sex、age等三个节点挂载到student节点上
$stu_node->appendchild($stu_node_name);
$stu_node->appendchild($stu_node_sex);
$stu_node->appendchild($stu_node_age);
//(5)把student节点挂载到根节点上
$root->appendchild($stu_node);
//4、保存到
xml
文档中
//$xmldoc->save("class.xml");//保存到原xml文档中,相当于在后面添加;如果是一个不存在的xml文档,则会新建一个xml文档,内容为原xml内容+新添加的内容。
?>
希望本文所述对大家的php操作XML程序设计有所帮助。 我爱编程网

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php如何解析多级xml报文?”相关推荐
php中,loadxml()用法 php解析xml问题?
php中,loadxml()用法 php解析xml问题?

php中,loadxml()用法1.定义和用法simplexml_load_file()函数把XML文档载入对象中。如果失败,则返回false。2.语法simplexml_load_file(file,class,options,ns,is_prefix)参数描述file必需。规定要使用的XML文档。class可选。规定新对象的class。options可选。规

2024-11-30 08:28:39
php如何解析json
php如何解析json

php中json_decode()和json_encode()的使用方法PHP中json_decode和json_encode的使用方法:一、json_encode方法json_encode函数用于将PHP变量转换为JSON字符串。它接受一个PHP的值并将其转换为JSON格式。语法如下:phpstringjson_encode示例:

2024-12-14 22:59:49
php创建多级目录的函数? php 读取(解析)html文档,并将读取到的文档转为数组(数组保留html嵌套格式)
php创建多级目录的函数? php 读取(解析)html文档,并将读取到的文档转为数组(数组保留html嵌套格式)

php创建多级目录的函数?怎么用PHP创建目录和子目录??phpheader("Content-type:text/html;charset=utf-8");//设置要创建的目录(可设置多级)$path="baidu/zhidao";//首先判断目知戚大录存在否if?搭竖(is_dir($path)){??echo?"抱歉,目录?"?.?$path?.

2024-09-22 05:30:43
运行java程序一直报这个,最后死机。如何解决?
运行java程序一直报这个,最后死机。如何解决?

运行java程序一直报这个,最后死机。如何解决?1、电脑中毒或中恶意软件,也可能引起电脑异常,解决办法:升级杀毒软件,杀毒,实在不行,就重装或恢复过系统。2、配置不合理,不协调,bios设置错误,也会引起电脑异常,所以装机或升级硬件要找更专业的人员解决。3、电脑运行中温度过高也会引起电脑异常,建议用鲁大师软件,测下各项硬件温度,再解决。4、由于电压不稳点,电源功率不够,也会经常引

2024-03-31 16:06:20
PHP报警Strict Standards如何取消?
PHP报警Strict Standards如何取消?

PHP报警StrictStandards如何取消?这个问题产生是因为引用传递参数引起的。解决办法:修改代码不使用引用传递。修改php配置文件,修改error_reporting其值改为error_reporting=E_ALL&amp;~E_NOTICE,或者修改函数中的引用方式。如何用PHP输出静态页面用PHP输出静态页面有2种方法一种是利用模

2024-12-25 18:23:41
PHP 输出XML出现乱码问题怎么解决呢?
PHP 输出XML出现乱码问题怎么解决呢?

PHP输出XML出现乱码问题怎么解决呢?出错的原因在于PHP程序输出编码和XML文件的编码不一致所导致工具原料:电脑+php+xml方法一:使用utf-8编码,修改方法如下:一.把两个gb2312改为utf-8二.在xml文件上点右键,选择用记事本打开,另存为,编码由ansi改为,覆盖保存。方法二:直接设置PHP文件格式为ansi,输出正常php文件怎么打开是

2024-12-25 16:36:29
php的错误级别如何修改
php的错误级别如何修改

php的错误级别如何修改修改php的错误级别方法:1、修改PHP的配置文件【php.ini】,设置【error_reporting】后重启web服务器;2、使用【error_reporting()】函数,代码为【interror_reporting([..】。修改php的错误级别方法:1、修改PHP的配置文件php.ini这种方式设置error_reporting后,重启web

2024-09-12 00:26:12
在LINUX下 用JAVA如何解压rar文件
在LINUX下 用JAVA如何解压rar文件

在LINUX下用JAVA如何解压rar文件楼主试试这个代码~~packagedecompress;importjava.io.File;importjava.io.FileOutputStream;importorg.apache.tools.ant.Project;importorg.apache.tools.ant.taskdefs.Expand;impo

2024-04-04 05:10:44