导航:首页 > 编程语言 > php解析xml字符串

php解析xml字符串

发布时间:2023-05-10 16:36:15

php怎么解析从网页中获取的xml数据

先给你个以前写的读取xml格式的天气预报的代码吧,比着葫芦画瓢,不懂再追问


<?php
$apistr=file_get_contents("http://api.map..com/telematics/v2/weather?location=%E4%B8%8A%E6%B5%B7&ak=");//获取xml内容
$apiobj=simplexml_load_string($apistr);//解析xml代码
$todayobj=$apiobj->results->result[0]->date;//读取星期
$weatherobj=$apiobj->results->result[0]->weather;//读取天气
$windobj=$apiobj->results->result[0]->wind;//读取风力
$temobj=$apiobj->results->result[0]->temperature;//读取温度
$contentStr="上海 {$todayobj} 天气:{$weatherobj} 风力:{$windobj} 温度:{$temobj}";
echo$contentStr;
?>

㈡ PHP怎么解析通联支付结果返回的xml

把接到的xml命名为$xml,然后下面两句话处理成数组,这样就好处理了
$xml=simplexml_load_string($xml);
$xml=(array)$xml;

var_mp($xml);

㈢ PHP怎么解析微信支付结果返回的xml

PHP解析微信支付结果返回的xml的方法是通过自定义方法和第三方组件DomDocument实现的。
1、解析代码如下:
<?PHP
header("Content-type:text/html; Charset=utf-8");
$url = "http://www.google.com/ig/api?weather=shenzhen";

// 加载XML内容
$content = file_get_contents($url);
$content = get_utf8_string($content);
$dom = DOMDocument::loadXML($content);
/*
此处也可使用如下所示的代码,
$dom = new DOMDocument();
$dom->load($url);
*/

$elements = $dom->getElementsByTagName("current_conditions");
$element = $elements->item(0);
$condition = get_google_xml_data($element, "condition");
$temp_c = get_google_xml_data($element, "temp_c");
echo '天气:', $condition, '<br />';
echo '温度:', $temp_c, '<br />';

function get_utf8_string($content) { // 将一些字符转化成utf8格式
$encoding = mb_detect_encoding($content, array('ASCII','UTF-8','GB2312','GBK','BIG5'));
return mb_convert_encoding($content, 'utf-8', $encoding);
}

function get_google_xml_data($element, $tagname) {
$tags = $element->getElementsByTagName($tagname); // 取得所有的$tagname
if ($items->length > 1) {
return $items;
}
$tag = $tags->item(0); // 获取第一个以$tagname命名的标签
if ($tag->hasAttributes()) { // 获取data属性
$attribute = $tag->getAttribute("data");
return $attribute;
}else {
return false;
}
}
?>
2、返回支付的xml报文:
<?xml version="1.0"?>
<xml_api_reply version="1">
<weather mole_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
<forecast_information>
<city data="Shenzhen, Guangdong"/>
<postal_code data="shenzhen"/>
<latitude_e6 data=""/>
<longitude_e6 data=""/>
<forecast_date data="2009-10-05"/>
<current_date_time data="2009-10-04 05:02:00 +0000"/>
<unit_system data="US"/>
</forecast_information>
<current_conditions>
<condition data="Sunny"/>
<temp_f data="88"/>
<temp_c data="31"/>
<humidity data="Humidity: 49%"/>
<icon data="/ig/images/weather/sunny.gif"/>
<wind_condition data="Wind: mph"/>
</current_conditions>
</weather>
</xml_api_reply>
3、打印解析结果:

print $html;

㈣ php将XML转换成字符串!

$str = $xml->asXML();

$str就是你要的字符串

㈤ php把xml转换为字符串

楼主我教你吧,首先xml文件里的内容为

<?xmlversion="1.0"encoding="ISO-8859-1"?>
<content
<name>lishi</name>
<age>17</age>
</content>

读取xml文件内容

$str=file_get_contents($xml);$xml为xml文件路径地址


将读取的字符串内容转化为xml对象

$obj=simplexml_load_string($str)


操作对象里的数据

$obj->name="lishi111";

$obj->age=77;


拼接新的字符串

$strNew="<?xml version='1.0' encoding='ISO-8859-1'?>";

$str.="<content><name>".$obj->name."</name";

$str.="<age>".$obj->age."</age></content>";


将新的字符串写入xml文件

file_put_content($xml,$strNew);


最后一步拿分来吧,哈哈哈哈。有问题继续。。。

㈥ xml用php解析是重命名php文件吗

xml用大肢态php解析不是重命名php文件,用到了php的simplexml_load_file()方法,该方法会将xml文件生成一个SimpleXMLElement对象,该对象是继承了Traversable接口的对象,即可以像数组那样饥嫌遍历其子集。
这样,我们滚源就可以循环得到xml文件的内容

㈦ PHP怎么解析微信支付结果返回的xml

$xml = $GLOBALS['HTTP_RAW_POST_DATA'闷搏];
json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);转成数组,
或者直接银罩顷使用微信支付WxPayDataBase类锋陆下的
$wxPaydata->FromXml($xml)转化数组

㈧ php 解析xml

看着这些代码,好厉害的样子,程序员

㈨ php如何解析多级xml报文

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

㈩ PHP中用simpleXML解析XML文档,为什么总出错

你说的“而且单个测试都没问题”只是抽样测试脊差野,并不是测试全部。应该有至少一个XML格式是不正确的。如果你加庆握了我的代码,应该会输出这个不正确的XML的内容。你把这个内容贴出来给你看看,没有什么机密吧?如果可以的话,加网络HI。账号:everalan

你加我的代码后,有执行到die($xml)这一行吗?有的话把输出的XML内容发过来帮你分析一下

应该是XML本身的格式就不正确,自然解析失败樱喊
try{
$xmld = new SimpleXMLElement($xml);
}catch(Exception $e){
die($xml);
}

这样出错的时候就能知道那个XML是什么内容就知道哪里错了

阅读全文

与php解析xml字符串相关的资料

热点内容
苹果笔记本t2加密芯片怎么打开 浏览:796
安卓如何把手机投屏至电视 浏览:737
方舟编译器现在可提速哪些软件 浏览:58
微信加密为什么是黑屏 浏览:473
android去电状态 浏览:602
苹果13如何加密视频 浏览:813
linuxweblogic缓存 浏览:67
云服务器不同地域 浏览:946
python闹钟怎么打 浏览:686
虚拟主机服务器有什么区别 浏览:833
算法与程序的奥秘章节检测 浏览:377
找pdf 浏览:529
与服务器连接断开如何处理 浏览:833
服务器维修预计十分钟什么意思 浏览:170
黑马程序员主打教学是什么 浏览:41
python九乘法表怎么编写 浏览:974
思维方式pdf 浏览:656
tcc社区app怎么注册 浏览:941
央视网下载加密 浏览:454
命令行访问服务器 浏览:36