『壹』 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";
}
?>