php與xml
Ⅰ 請教,php使用xml
我覺得這應該是文檔對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展標志語言的標准編程介面。Document Object Model的歷史可以追溯至1990年代後期微軟與Netscape的「瀏覽器大戰」,雙方為了在JavaScript與JScript一決生死,於是大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了不少專屬事物,計有VBScript、ActiveX、以及微軟自家的DHTML格式等,使不少網頁使用非微軟平台及瀏覽器無法正常顯示。DOM即是當時蘊釀出來的傑作。
XML DOM 是:[1]
用於 XML 的標准對象模型
用於 XML 的標准編程介面
中立於平台和語言
W3C 標准
XML DOM 定義了所有 XML 元素的對象和屬性,以及訪問它們的方法(介面)。
換句話說:XML DOM 是用於獲取、更改、添加或刪除 XML 元素的標准。
SimpleXML 函數允許您把 XML 轉換為對象。
通過普通的屬性選擇器或數組迭代器,可以處理這個對象,就像處理任何其他對象一樣。
其中的一些函數需要最新的 PHP 版本。。如果還有不懂的可以上後盾人看看相關的教材,多看幾遍不懂的不就少了。希望對你有幫助。
Ⅱ php如何調用xml文件
推薦用simpleXML處理xml,舉例如下:
$xml=simplexml_load_file('http://www.w3schools.com/xml/plant_catalog.xml');
foreach($xml->PLANTas$plantNode){
echo$plantNode->COMMON,'-',$plantNode->PRICE," ";
}
Ⅲ 如何通過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有什麼關系
PHP屬於服務端網路編程語言,可以用於創建Web應用程序。
XML屬於一種標記語言,通常用於當作數據存儲的載體。
可以這么說,使用PHP可以操作XML進行讀寫操作,XML是PHP操作的對象(之一)。
Ⅳ PHP和XML 交互的 多選怎麼實現的
不是很明白你的意思,不過PHP的數組生成xml可以用下面這個函數:<?php
//數組轉換為xml
function xml_encode($data, $encoding='utf-8', $root="cpweb") {
$xml = '<?xml version="1.0" encoding="' . $encoding . '"?>';
$xml.= '<' . $root . '>';
if (is_object($data)) {
$data = get_object_vars($data);
}
foreach ($data as $key => $val) {
is_numeric($key) && $key = "item id=\"$key\"";
$xml.="<$key>";
$xml.= ( is_array($val) || is_object($val)) ? data_to_xml($val) : $val;
list($key, ) = explode(' ', $key);
$xml.="</$key>";
}
$xml.= '</' . $root . '>';
return $xml;
}?>
Ⅵ 如何在php文件里寫xml
php文件里寫xml方法:
1、Xml代碼
<?php
$data_array=array(
array(
'title'=>'title1',
'content'=>'content1',
'pubdate'=>'2009-10-11',
),
array(
'title'=>'title2',
'content'=>'content2',
'pubdate'=>'2009-11-11',
)
);
//屬性數組
$attribute_array=array(
'title'=>array(
'size'=>1
)
);
$string=<<<XML
<?xmlversion='1.0'encoding='utf-8'?>
<article>
</article>
XML;
$xml=simplexml_load_string($string);
foreach($data_arrayas$data){
$item=$xml->addChild('item');
if(is_array($data)){
foreach($dataas$key=>$row){
$node=$item->addChild($key,$row);
if(isset($attribute_array[$key])&&is_array($attribute_array[$key]))
{
foreach($attribute_array[$key]as$akey=>$aval){
//設置屬性值
$node->addAttribute($akey,$aval);
}
}
}
}
}
echo$xml->asXML();
?>
Ⅶ php+xml有什麼用
這個很有用,比如開發一個介面,這個介面互相傳送的數據可以用xml格式的數據。 例如新浪微波提供的介面返回形式就有xml格式的數據。 還有比如php和其他語言(c++)互相通信 ,也是選擇xml格式的數據進行通信。這樣我們獲取了xml格式的數據後呢,當然還需要php進行解析 分離 將這些xml數據展示得到我們想要的網頁上或者編程自己想要的格式保存到自己的資料庫。等等吧! 應用很多對我一般都是用到這些了。
Ⅷ 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 用哪種方法好
1、首先我們做一個簡單的xml文件
<?xml version="1.0 encoding="UTF-8"?><humans><zhangying><name>張映</name><sex>男</sex><old>28</old></zhangying><tank><name>tank</name><sex>男</sex><old>28</old></tank></humans>
2、
php讀取xml的幾種方法:
1)DOMDocument讀取xml
<?php $doc = new DOMDocument(); $doc->load('person.xml'); //讀取xml文件 $humans = $doc->getElementsByTagName( "humans" ); //取得humans標簽的對象數組 foreach( $humans as $human ) { $names = $human->getElementsByTagName( "name" ); //取得name的標簽的對象數組 $name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name> $sexs = $human->getElementsByTagName( "sex" ); $sex = $sexs->item(0)->nodeValue; $olds = $human->getElementsByTagName( "old" ); $old = $olds->item(0)->nodeValue; echo "$name - $sex - $old\n"; } ?>
2)simplexml讀取xml
<?php $xml_array=simplexml_load_file('person.xml'); //將XML中的數據,讀取到數組對象中 foreach($xml_array as $tmp){ echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>"; } ?>
3)用php正則表達式來記取數據
<?php $xml = ""; $f = fopen('person.xml', 'r'); while( $data = fread( $f, 4096 ) ) { $xml .= $data; } fclose( $f ); // 上面讀取數據 preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans ); //匹配最外層標簽裡面的內容 foreach( $humans[1] as $k=>$human ) { preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出名字 preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex ); //匹配出性別 preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old ); //匹配出年齡 } foreach($name[1] as $key=>$val){ echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ; } ?>
4)xmlreader來讀取xml數據
<?php $reader = new XMLReader(); $reader->open('person.xml'); //讀取xml數據 $i=1; while ($reader->read()) { //是否讀取 if ($reader->nodeType == XMLReader::TEXT) { //判斷node類型 if($i%3){ echo $reader->value; //取得node的值 }else{ echo $reader->value."<br>" ; } $i++; } } ?>
Ⅹ PHP與xml
基本上沒有必要,學習html就夠了