導航:首頁 > 編程語言 > php獲取xml數據

php獲取xml數據

發布時間:2022-07-31 14:50:52

php怎麼採集xml裡面的內容

親,很高興為你解答:

首先該XML是必須要通過cURL偽造正常的UA才可以訪問,否則返回的是HTTP 403


個人建議是用SimpleXMLElement做,操作起來比較方便。


截圖如下:

<?php

$headers["User-Agent"]="null";
$headerArr=array();
foreach($headersas$n=>$v){
$headerArr[]=$n.':'.$v;
}
$ch=curl_init("http://www.cailele.com/static/ssc/newlyopenlist.xml");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArr);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
$content=curl_exec($ch);

$xml=simplexml_load_string($content);

for($i=0;$i<count($xml->row);$i++){
foreach($xml->row->attributes()as$k=>$v){
echo"".$k."=>".$v;
}
echo"<br/>";
}

?>

-----------------------------------
如有疑問歡迎追問!
滿意請點擊右上方【選為滿意回答】按鈕

㈡ 急!!!利用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格式數據

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數據

編碼問題,function
characterData改成如下
function
characterData($parser_instance,
$xml_data)
{
global
$name,$position;
$xml_data=iconv("utf-8","gb2312",$xml_data);//轉換成gb2312
if($position)
echo
$xml_data."<br>";
if($name)
echo
$xml_data."<br>";
}
顯示的那個頁面也要有charset=gb2312

㈤ PHp怎麼獲取網路傳過來的xml文件

<?php
$xml_string=file_get_contents("php://input");
$xml_string=trim($xml_string);
$xml_object=simplexml_load_string($xml_string);
$xml_arr=get_object_vars($xml_object);
只要別人訪問你這個文件傳遞xml。你就能獲取其中的信息了。

㈥ PHP讀取xml文件

以前做過聯通或電信的service訂購介面,收到的內容就是XML的,需要用到PHP的XML處理功能,你的代碼可以這樣:
<xmp>
<?php

$string=file_get_contents("http://www.orderjiaju.com/zixun/data/rss/3.xml");
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>

回答補充:

現在你直接,然後執行沒效果嗎?
我這里是可以的呢,測試網址是:service.020i.net/test_xml.php

㈦ php如何通過xml傳遞數據

獲取request中body的字元串數據,比如一個數組轉成xml後,你用post方式給伺服器發送xml的字元串,伺服器就用file_get_contents('php://input') 去讀取xml格式 然後轉成數組即可

㈧ php 讀取xml文件的方法

首先 你的 XML文件代碼錯了, 要改下<user> 缺少斜杠 應該是</user>

XML文件代碼:

<?xml version="1.0" encoding="utf-8"?>
<users>
<user id="1" title="哈哈">張三</user>
<user id="2" title="呵呵">李四</user>
</users>

PHP文件代碼:

<?php
// 首先要建一個DOMDocument對象
$xml = new DOMDocument();

// 載入Xml文件
$xml->load('1.xml');

// 獲取所有的user標簽
$user = $xml->getElementsByTagName('user');

// 獲取user標簽的數量
$len = $user->length;

$data = array();

for($i=0;$i<$len;$i++) {
$data[$i] = array();

//第1個 item 代表 user標簽的 順序 第2個 item 代表屬性的順序
$data[$i]['id'] = $user->item($i)->attributes->item(0)->nodeValue;
$data[$i]['title'] = $user->item($i)->attributes->item(1)->nodeValue;
$data[$i]['value'] = $user->item($i)->nodeValue;

}

print_r($data);

?>

閱讀全文

與php獲取xml數據相關的資料

熱點內容
php開發客戶端 瀏覽:988
theisle測試服怎麼搜伺服器 瀏覽:445
廣播PDF 瀏覽:216
單片機編程300例匯編百度 瀏覽:33
騰訊雲連接不上伺服器 瀏覽:221
不能用來表示演算法的是 瀏覽:859
6軸機器人演算法 瀏覽:890
手機主題照片在哪個文件夾 瀏覽:294
安卓手機後期用什麼軟體調色 瀏覽:628
cad修改快捷鍵的命令 瀏覽:242
好錢包app怎麼登錄不了 瀏覽:859
樹莓派都用python不用c 瀏覽:757
access文件夾樹的構造 瀏覽:662
安卓多指操作怎麼設置 瀏覽:658
linux樹形目錄 瀏覽:727
平方根的簡單演算法 瀏覽:898
千牛訂單頁面信息加密取消 瀏覽:558
單片機自製紅外遙控燈 瀏覽:719
伺服器最小配置怎麼弄 瀏覽:853
ibm伺服器硬體如何升級 瀏覽:923