您好,登錄后才能下訂單哦!
<?php
#php操作xml,SimpleXMLElement類小結
header('Content-type:text/html;charset=utf-8;');
//1.構造函數
/*
$xmlstring=<<<XML
<?xml version="1.0" encoding="utf-8"?>
<note xmlns:b="http://www.w3school.com.cn/example/">>
<to>虎哥</to>
<from>John</from>
<heading>Reminder</heading>
<body>Dont forget the meeting!</body>
</note>
XML;
*/
$xmlstring=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<note xmlns:b="http://www.w3school.com.cn/example/">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<b:body>Dont forget the meeting!</b:body>
</note>
XML;
$xml=new SimpleXMLElement($xmlstring);//實例化類
// $xml=simplexml_load_file('test.xml');//通過文件加載來實例化類
// $xml=simplexml_load_string(data):通過XML字符串載入對象。
echo $xml->to;//訪問屬性
echo '<br>';
//添加屬性
//addAtribute(name,value,ns):函數給SimpleXML元素添加一個屬性
//name,規定屬性名
//value,規定屬性值
//ns,規定屬性的命名空間
#$xml->body->addAttribute('sex','男');
echo '<br>';
/*訪問屬性
foreach ($xml->body[0]->attributes() as $key=>$val) {
echo "$key=$val";
echo '<br>';
}
*/
//添加一個子節點
//addChild(name,value,ns):先xml添加一個子節點
#$xml->body->addChild('date','2014-08-01');
/*訪問子節點
foreach ($xml->body->children() as $child) {
echo "Child node: " . $child;
}
echo '<br>';
*/
// asXml(file):函數以字符串的形式從SimpleXMLElement對象返回XML文檔
//file:可選,如果規定了這個參數將直接寫入指定的文檔
// 失敗,返回false
echo $xml->asXML();
echo '<br>';
// attributes():函數獲取SimpleXML元素的屬性
//children():函數獲取指定節點的子節點
// getDocNamespace():函數從SimpleXMLElement對象返回
// 在XML文檔中聲明的命名空間
print_r($xml->getDocNamespaces());
echo '<br>';
// getName():函數從SimpleXMLElement對象獲取XML元素的名稱,
// 如果成功,該函數返回XML元素的名稱,如果失敗,則返回false
echo $xml->getName();
echo '<br>';
// getNamespace:函數獲取在XML文檔中使用的命名空間
//registerXPathNamespace(prefix,ns):函數為下一次XPath查詢創建命名空間語境
// prefix:必須,規定命名空間的前綴
// ns:必須,規定命名空間URL,必須匹配XML文檔中的命名空間,eg.
$xml->registerXPathNamespace('msg','http://www.w3school.com.cn/example/');
$result=$xml->xpath('msg:body');
print_r($result);
echo '<br>';
// xpath(path):函數運行對XML文檔的Xpath查詢,如果成功則返回一個SimpleXMLElement對象的一個數組。
// 如果失敗,則返回false。
//simplexml_import_dom(node):函數把Dom節點轉換為SimpleXMLElement對象,如果失敗返回false。
$dom = new domDocument();
$dom->loadXML('<note><from>John</from></note>');
$xml = simplexml_import_dom($dom);
echo $xml->from;
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。