当前位置:首页 » 编程语言 » php获取xml节点

php获取xml节点

发布时间: 2023-10-11 20:07:04

php 解析xml 的方法

$url =“给你接口的路径";
$doms = simplexml_load_file ( $url );//直接把路径放在simplexml_load_file 方法里就行$doms里存放的就是读取的 XML 信息,你可以print_r($doms)试一下
然后用循环你就可以获得 XML里面的信息了
foreach ( $doms->节点名字 as $studys )
{
echo $studys."</br>";//输入一下结果可以看一下
}
注意:simplexml_load_file ( $url )这个方法解析出来的中文只能是utf-8 如果你的项目使用的不是该编码会出现中文乱码,你可以用
iconv ( "UTF-8", "GB2312", “这里放你要转换的内容”);转换能你用的编码格式例如转换成GB2312

❷ php DOMXPath怎么获取和设置子节点值

$xmlDoc = new DOMDocument;
$xmlDoc -> load($xml_resource);
$xpath = new DOMXPath($xmlDoc);
//$advert_path = '/root/advert[@id="1"]';
$statue_path = '/root/advert/status';
//$advert = $xpath -> query($advert_path) ->item(0);
$replaceNodeOld = $xpath -> query($statue_path) ->item(0);
$replaceNodeNew = = $xmlDoc -> createElement('person', 'fff');//改变成它
$replaceNodeOld = $replaceNodeOld -> item(0)->parentNode->replaceChild($replaceNodeNew, $replaceNodeOld ->item(0));

❸ 怎样通过php程序返回xml格式的数据

无论是返回 json 还是 xml 数据,区别仅在于数据的格式。


返回 xml 格式数据示例如下:


<?php
//指示返回数据格式为xml
header('Content-Type:text/xml');
?>

<?xmlversion="1.0"encoding="utf-8"?>

<?php

//构造xml
//$xmldata="
//<data>
//<site_name>$site[name]</site_name>
//........
//<data>";

echo$xmldata;

?>

❹ 如何通过PHP生成和获取XML格式数据

1自己拼,XML编码

<?php
header('Content-type:text/xml');
echo "<?xml version='1.0' encoding='utf-8'>";
echo "<book>";
echo "<PHP>";
echo "<name>PHP程序开发范例宝典</name>";
echo "<price 单位='元/本'>89.00</price>";
echo "<date>2007-09-01</date>";
echo "</PHP>";
echo "</book>";
?>

拼接的效果

❺ PHP生成和获取XML格式数据

在做数据接口时 我们通常要获取第三方数据接口或者给第三方提供数据接口 而这些数据格式通常是以XML或者JSON格式传输 本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的XML数据

生成XML格式数据

我们假设系统中有一张学生信息表student 需要提供给第三方调用 并有id name sex age分别记录学生的姓名 性别 年龄等信息

CREATE TABLE `student` (

`id` int( ) NOT NULL auto_increment

`name` varchar( ) NOT NULL

`sex` varchar( ) NOT NULL

`age` *** allint( ) NOT NULL default

PRIMARY KEY (`id`)

大森) ENGINE=MyISAM DEFAULT CHARSET=utf ;

首先 建立createXML php文件 先连接数据库 获取数据

include_once ( connect php ) //连接数据库

$sql = select * from student ;

$result = mysql_query($sql) or die( Invalid query: mysql_error())

while ($row = mysql_fetch_array($result)) {

$arr[] = array(

name => $row[ name ]

sex => $row[ sex ]

age => $row[ age ]

}

这个时候 数据就保存在$arr中 你可以使用print_r打印下数据测试

接着 建立xml 循环数组姿埋 将数据写入到xml对应的节点中

$doc = new DOMDocument( utf ) // 声明版本和编码

$doc >formatOutput = true;

$r = $doc >createElement( root )

$doc >appendChild($r)

foreach (滚册亩$arr as $dat) {

$b = $doc >createElement( data )

$name = $doc >createElement( name )

$name >appendChild($doc >createTextNode($dat[ name ]))

$b >appendChild($name)

$sex = $doc >createElement( sex )

$sex >appendChild($doc >createTextNode($dat[ sex ]))

$b >appendChild($sex)

$age = $doc >createElement( age )

$age >appendChild($doc >createTextNode($dat[ age ]))

$b >appendChild($age)

$r >appendChild($b)

}

echo $doc >saveXML()

我们调用了PHP内置的类DOMDocument来处理与生成xml 最终生成的xml格式请点击这里看效果

<?xml version= encoding= utf ?>

<root>

<data>

<name>李王皓</name>

<sex>男</sex>

<age> </age>

</data>

</root>

获取XML格式数据

现在我们假设要从第三方获取学生信息 数据格式是XML 我们需要使用PHP解析XML 然后将解析后的数据显示或者写入本地数据库 而这里关键的一步是解析XML

PHP有很多中方法可以解析XML 其中PHP提供了内置的XMLReader类可以循序地浏览过xml档案的节点 你可以想象成游标走过整份文件的节点 并抓取需要的内容 使用XMLReader是高效的 尤其是读取非常大的xml数据 相对其他方法 使用XMLReader消耗内存非常少

header( Content type:text/; Charset=utf )

$url = // helloweba /demo/importXML/createXML php ;

$reader = new XMLReader() //实例化XMLReader

$reader >open($url) //获取xml

$i= ;

while ($reader >read()) {

if ($reader >nodeType == XMLReader::TEXT) { //判断node类型

$m = $i% ;

if($m== )

$name = $reader >value; //读取node值

if($m== )

$sex = $reader >value;

if($m== ){

$age = $reader >value;

$arr[] = array(

name => $name

sex => $sex

age => $age

}

$i++;

}

}

//print_r($arr)

lishixin/Article/program/PHP/201311/21636

❻ php如何解析多级xml报文

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

❼ 使用php循环出xml中多个相同重复的标签

重复的 xml 元素节点可以用 foreach 循环取出重复元素。

示例:

// $xmlData = file_get_contents('items.xml');

$xmlElement=simplexml_load_string($xmlData, 'SimpleXMLElement', 'LIBXML_NOCDATA');

$elements = $xmlElement->CustAcctId;

foreach ($elements as $element) {

var_mp($element);

}

提示:使用simplexml_load_string($xmlString, 'SimpleXMLElement', LIBXML_NOCDATA) 解析 xml 字符串,如果是 xml 文件,可以 file_get_contents 读取文件。

热点内容
python地理数据处理pdf 发布:2025-03-06 03:34:16 浏览:544
阿里云服务器做成云电脑 发布:2025-03-06 03:31:44 浏览:466
阴阳师2017脚本 发布:2025-03-06 03:27:29 浏览:528
安卓如何设置每天定时发送消息 发布:2025-03-06 03:20:56 浏览:600
视频免费上传网站 发布:2025-03-06 03:19:17 浏览:569
运用运算法 发布:2025-03-06 03:09:20 浏览:1000
oomandroid 发布:2025-03-06 03:07:46 浏览:949
创造与魔法人间惊鸿客脚本 发布:2025-03-06 03:06:48 浏览:35
插头是什么配置 发布:2025-03-06 02:58:05 浏览:413
ipad更新要密码怎么办 发布:2025-03-06 02:57:23 浏览:875