當前位置:首頁 » 編程語言 » 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 讀取文件。

熱點內容
android取list數據 發布:2025-08-14 00:01:07 瀏覽:448
玩客雲上傳 發布:2025-08-13 23:58:20 瀏覽:454
qq錢包怎麼改密碼 發布:2025-08-13 23:51:43 瀏覽:240
榮耀50參數配置什麼系統 發布:2025-08-13 23:45:26 瀏覽:245
有關賣軟體的腳本 發布:2025-08-13 23:44:30 瀏覽:625
輝煌標准版伺服器地址 發布:2025-08-13 23:35:14 瀏覽:255
安卓更新後更新包哪裡去了 發布:2025-08-13 23:35:09 瀏覽:824
R2腳本下載 發布:2025-08-13 23:20:46 瀏覽:631
泰國雲伺服器訪問人數 發布:2025-08-13 23:20:45 瀏覽:482
c語言太難 發布:2025-08-13 23:15:46 瀏覽:789