本文目錄一覽:
- 1、PHP中,XML文檔能直接用file_get_contents讀取嗎?
- 2、getelementsbytagname,Php怎麼讀取xml中指定節點的指定名稱的屬
- 3、PHP如何取XML中數據
- 4、讀取php文件中的xml內容
- 5、PHP獲取xml中值的幾種方法簡單總結
PHP中,XML文檔能直接用file_get_contents讀取嗎?
可以,但是解析XML還得靠其它程序來做。
PHP的file_get_content可以讀取所有類型的文件,包括文本、圖片、應用程序等所有。
還支持http,
ftp等
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/*** 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);
讀取php文件中的xml內容
%
dim xml,objNode,objAtr,nCntChd,nCntAtr
Set xml=Server.CreateObject(“Microsoft.XMLDOM”)
xml.Async=False
xml.Load(Server.MapPath(“test.xml”))
Set objNode=xml.documentElement
nCntChd=objNode.ChildNodes.length-1
‘這個可以定義asp讀取xml文件的那一個值,通過傳遞這個值來確定讀取的數據
for i=0 to nCntChd
set objAtr=objNode.ChildNodes.item(i)
nCntAtr=objAtr.Attributes.length-1
‘歷遍一條記錄裡面的所有的記錄項,記錄是從0開始的
for j=0 to nCntAtr
response.write objAtr.Attributes.item(j).Text”br”
next
response.write “br”
next
Set objAtr=Nothing
Set objNode=Nothing
Set xml=Nothing
%
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; // 輸出節點中的值
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194030.html