本文目錄一覽:
- 1、php如何獲取xml根節點名稱
- 2、關於PHP解析XML怎麼通過屬性查找到指定節點
- 3、getelementsbytagname,Php怎麼讀取xml中指定節點的指定名稱的屬
- 4、PHP獲取xml中值的幾種方法簡單總結
- 5、PHP如何取XML中數據
php如何獲取xml根節點名稱
?xml version=”1.0 encoding=”UTF-8″?
humans
zhangying
name張映/name
sex男/sex
old28/old
/zhangying
tank
nametank/name
sex男/sex
old28/old
/tank
/humans
simplexml讀取xml
?php
$xml_array=simplexml_load_file(‘person.xml’); //將XML中的數據,讀取到數組對象中
foreach($xml_array as $tmp){
echo $tmp-name.”-“.$tmp-sex.”-“.$tmp-old.”br”;
}
?
關於PHP解析XML怎麼通過屬性查找到指定節點
定義XmlDocument對象xml XmlElement elem=xml.GetElementsByTagName(“DTVActionWindow1”)[0]; elem是該節點的對象 elem.Text//不知道是不是這個屬性,查查看 可以獲得3
getelementsbytagname,Php怎麼讀取xml中指定節點的指定名稱的屬
首先,你的xml文件,缺少root元素,version後邊沒有”結尾。
然後是你解析的思路是:
先用simplexml_load_string或者$xml = simplexml_load_file(‘test.xml’);
,讀取xml,然後用get_object_vars,轉成數組,然後根據數組,找出對應關係,或者在生成數組的時候直接寫成『lisan』=’no’;這個關係。簡單點就是直接讀成數組,然後遍歷,找到對應的值之間的關係就OK
用到的函數:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getXmlData ($strXml) {
$pos = strpos($strXml, ‘xml’);
if ($pos) {
$xmlCode=simplexml_load_string($strXml,’SimpleXMLElement’, LIBXML_NOCDATA);
$arrayCode=get_object_vars_final($xmlCode);
return $arrayCode ;
} else {
return ”;
}
}
function get_object_vars_final ($obj)
{
if (is_object($obj)) {
$obj = get_object_vars($obj);
}
if (is_array($obj)) {
foreach ($obj as $key = $value) {
$obj[$key] = get_object_vars_final($value);
}
}
return $obj;
}
PHP獲取xml中值的幾種方法簡單總結
php 中有個內置類可以用來操作XML, 簡單說下
$xmlData = “xmlname來自上海/name/xml”; // xml 數據
$doc = new DOMDocument();
$doc – loadXML($xmlData); // 載入XML數據
$root = $doc – documentElement; // 獲取根節點對象
$items = $root – getElementsByTagName(‘name’); // 獲取 name 節點
echo $items[0] – nodeValue; // 輸出獲取到的所有節點中的第一個節點的值
foreach ($items as $value) {
echo $value – nodeValue; // 輸出節點中的值
}
PHP如何取XML中數據
轉成數組
?php/*** function:使用字元串方式讀XML文件* author:JetWu* date:2016.12.03**/$file = ‘./write_str.xml’;$con = file_get_contents($file); //XML標籤配置$xmlTag = array( ‘starttime’, ‘endtime’, ‘school’); $arr = array();foreach($xmlTag as $x) { preg_match_all(“/”.$x.”.*\/”.$x.”/”, $con, $temp); $arr[] = $temp[0];}//去除XML標籤並組裝數據$data = array();foreach($arr as $key = $value) { foreach($value as $k = $v) { $a = explode($xmlTag[$key].”, $v); $v = substr($a[1], 0, strlen($a[1])-2); $data[$k][$xmlTag[$key]] = $v; }}echo ‘pre’;print_r($data);
原創文章,作者:VRYYY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317671.html