‘壹’ php解析xml问题
<?php
$xml='...xml数据此略...';
$eid='31037010'; //这是要查找的equip_id
$dom=new DOMDocument('1.0','utf-8');
@$dom->loadXML($xml);
$eids=$dom->getElementsByTagName('equip_id');
foreach($eids as $v){
if($v->nodeValue==$eid){
do{
if($v->nodeType==1){
$name=$v->tagName; //同级标签名
$text=$v->nodeValue; //同级标签值
print_r($name.'='.$text.'<br />');
}
}while($v=$v->nextSibling);
}
}
?>
‘贰’ 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获取XML页面信息
这个连接介绍的方法在实践中并不经常使用,因为很原始。它适合操作本地文件。
1.如若你是获取xml,那应该使用
simplexml_load_file('url')这个函数,他返回一个xml的DOM模型对象,这个模块是专门针对xml应用设计的。具体可以查找php的simpleXML相关应用。
2.如果你是获取html。那么,php中几乎所有的目录函数都支持远程操作,即文件参数可以是网址。最适合的函数是file_get_contents('url'),他返回文件内容。
但是大部分免费空间禁止远程调用,如果是这样,fopen()或者其他函数都是不行的。那就只能在网页中用javascript获取然后处理或者送回网站处理,此方面内容属于ajax技术,你可以搜索一下。
3.你如果要用到比较复杂一点的功能,比如要打开的页面
需要登陆,或者需要模拟cookie,就要用php的cURL库扩展,你可以找一下相关资料
我不能用一篇短文使你学会这几个模块的具体应用。
‘肆’ PHP怎么解析通联支付结果返回的xml
把接到的xml命名为$xml,然后下面两句话处理成数组,这样就好处理了
$xml=simplexml_load_string($xml);
$xml=(array)$xml;
var_mp($xml);
‘伍’ PHP怎么解析微信支付结果返回的xml
php解析xml报文的方法是DOMDocument:
解析方法如下:
$xmlstring = <<<XML
<?xml version='1.0'?>
<document>
<cmd attr='default'>login</cmd>
<login>imdonkey</login>
</document>
XML;
$dom = new DOMDocument();
$dom->loadXML($xmlstring);
print_r(getArray($dom->documentElement));
function getArray($node) {
$array = false;
if ($node->hasAttributes()) {
foreach ($node->attributes as $attr) {
$array[$attr->nodeName] = $attr->nodeValue;
}
}
if ($node->hasChildNodes()) {
if ($node->childNodes->length == 1) {
$array[$node->firstChild->nodeName] = getArray($node->firstChild);
} else {
foreach ($node->childNodes as $childNode) {
if ($childNode->nodeType != XML_TEXT_NODE) {
$array[$childNode->nodeName][] = getArray($childNode);
}
}
}
} else {
return $node->nodeValue;
}
return $array;
}
‘陆’ 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字符串
编写示例代码如下,经运行测试通过:
<?php
$xmlStr = <<<XML
<?xml version='1.0' encoding='UTF-8'?>
<ExportData>
<Body>
<Content>
<Id>1</Id>
<Name>Test01</Name>
<Point>40</Point>
</Content>
<Content>
<Id>2</Id>
<Name>Test02</Name>
<Point>80</Point>
</Content>
</Body>
</ExportData>
XML;
$xml = new SimpleXMLElement($xmlStr);
foreach($xml->Body->Content as $item){
echo 'ID: '.$item->Id."<br/>\n";
echo 'Name: '.$item->Name."<br/>\n";
echo 'Point: '.$item->Point."<br/><br/>\n";
}
?>