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

熱點內容
小孩什麼時候學編程比較好 發布:2025-02-01 12:03:10 瀏覽:960
c語言的認識 發布:2025-02-01 11:58:03 瀏覽:520
svn連接伺服器地址 發布:2025-02-01 11:51:31 瀏覽:416
對源程序為什麼要編譯 發布:2025-02-01 11:47:46 瀏覽:218
sql表添加記錄 發布:2025-02-01 11:22:08 瀏覽:864
word編輯加密 發布:2025-02-01 11:18:53 瀏覽:571
php變數文本 發布:2025-02-01 11:10:46 瀏覽:426
音悅台上傳mv 發布:2025-02-01 11:05:02 瀏覽:516
微信如何設置訪問限制 發布:2025-02-01 10:43:06 瀏覽:335
b站緩存視頻下架還有嗎 發布:2025-02-01 10:37:52 瀏覽:940