亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP解析xml格式數據工具類示例講解

2020-03-22 19:18:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP解析xml格式數據工具類,涉及php針對xml格式數據節點添加、獲取、解析等相關操作技巧,需要的朋友可以參考下

本文實例講述了PHP解析xml格式數據工具類。分享給大家供大家參考,具體如下:

html' target='_blank'>class ome_xml { * xml資源 * @var resource * @see xml_parser_create() public $parser; * 資源編碼 * @var string public $srcenc; * target encoding * @var string public $dstenc; * the original struct * @access private * @var array public $_struct = array(); * Constructor * @access public * @param mixed [$srcenc] source encoding * @param mixed [$dstenc] target encoding * @return void * @since function SofeeXmlParser($srcenc = null, $dstenc = null) { $this- srcenc = $srcenc; $this- dstenc = $dstenc; // initialize the variable. $this- parser = null; $this- _struct = array(); * Parses the XML file * @access public * @param string [$file] the XML file name * @return void * @since function xml2array($file) { //$this- SofeeXmlParser( utf-8  $data = file_get_contents($file); $this- parseString($data); return $this- getTree(); function xml3array($file){ $data = file_get_contents($file); $this- parseString($data); return $this- _struct; * Parses a string. * @access public * @param string data XML data * @return void function parseString($data) { if ($this- srcenc === null) { $this- parser = xml_parser_create(); } else { if($this- parser = xml_parser_create($this- srcenc)) { return Unable to create XML parser resource with . $this- srcenc . encoding.  if ($this- dstenc !== null) { @xml_parser_set_option($this- parser, XML_OPTION_TARGET_ENCODING, $this- dstenc) or die( Invalid target encoding  xml_parser_set_option($this- parser, XML_OPTION_CASE_FOLDING, 0); // lowercase tags xml_parser_set_option($this- parser, XML_OPTION_SKIP_WHITE, 1); // skip empty tags if (!xml_parse_into_struct($this- parser, $data, $this- _struct)) { /*printf( XML error: %s at line %d , xml_error_string(xml_get_error_code($this- parser)), xml_get_current_line_number($this- parser) );*/ $this- free(); return false; $this- _count = count($this- _struct); $this- free(); * return the data struction * @access public * @return array function getTree() { $i = 0; $tree = array(); $tree = $this- addNode( $tree, $this- _struct[$i][ tag ], (isset($this- _struct[$i][ value ])) ? $this- _struct[$i][ value ] : , (isset($this- _struct[$i][ attributes ])) ? $this- _struct[$i][ attributes ] : , $this- getChild($i) unset($this- _struct); return $tree; * recursion the children node data * @access public * @param integer [$i] the last struct index * @return array function getChild( $i) { // contain node data $children = array(); // loop while (++$i $this- _count) { // node tag name $tagname = $this- _struct[$i][ tag  $value = isset($this- _struct[$i][ value ]) ? $this- _struct[$i][ value ] :  $attributes = isset($this- _struct[$i][ attributes ]) ? $this- _struct[$i][ attributes ] :  switch ($this- _struct[$i][ type ]) { case open : // node has more children $child = $this- getChild($i); // append the children data to the current node $children = $this- addNode($children, $tagname, $value, $attributes, $child); break; case complete : // at end of current branch $children = $this- addNode($children, $tagname, $value, $attributes); break; case cdata : // node has CDATA after one of it s children $children[ value ] .= $value; break; case close : // end of node, return collected data return $children; break; //return $children; * Appends some values to an array * @access public * @param array [$target] * @param string [$key] * @param string [$value] * @param array [$attributes] * @param array [$inner] the children * @return void * @since function addNode($target, $key, $value = , $attributes = , $child = ) { if (!isset($target[$key][ value ]) !isset($target[$key][0])) { if ($child != ) { $target[$key] = $child; if ($attributes != ) { foreach ($attributes as $k = $v) { $target[$key][$k] = $v; $target[$key][ value ] = $value; } else { if (!isset($target[$key][0])) { // is string or other $oldvalue = $target[$key]; $target[$key] = array(); $target[$key][0] = $oldvalue; $index = 1; } else { // is array $index = count($target[$key]); if ($child != ) { $target[$key][$index] = $child; if ($attributes != ) { foreach ($attributes as $k = $v) { $target[$key][$index][$k] = $v; $target[$key][$index][ value ] = $value; return $target; * Free the resources * @access public * @return void function free() { if (isset($this- parser) is_resource($this- parser)) { xml_parser_free($this- parser); unset($this- parser);}

PS:這里再為大家提供幾款關于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat

XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

您可能感興趣的文章:

PHP中類靜態調用和范圍解析操作符之間的區別

PHP基于數組實現的堆棧和隊列功能示例詳解

基于PHP7錯誤處理與異常處理方法詳解

以上就是PHP解析xml格式數據工具類示例講解的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩国产激情在线| 日韩电影大片中文字幕| 成人亚洲综合色就1024| 日韩大片在线观看视频| 日韩激情在线视频| 日韩av在线精品| 欧美尺度大的性做爰视频| 亚洲区中文字幕| 欧美精品亚州精品| 欧美性高潮在线| 亚洲精品98久久久久久中文字幕| 国产欧美久久久久久| 91国产精品视频在线| 欧美情侣性视频| 亚洲一区二区免费| 欧美中文字幕在线播放| 91在线|亚洲| 色偷偷偷综合中文字幕;dd| 亚洲国产精品va在线看黑人| 久久久精品一区二区三区| 最近2019中文字幕在线高清| 97精品国产91久久久久久| 久久婷婷国产麻豆91天堂| 国产精品中文字幕久久久| 黄网站色欧美视频| 国产suv精品一区二区三区88区| 91精品视频专区| 色噜噜狠狠狠综合曰曰曰| 欧美视频一区二区三区…| 久久噜噜噜精品国产亚洲综合| 亚洲香蕉伊综合在人在线视看| 欧美午夜www高清视频| 国产极品精品在线观看| 一本大道久久加勒比香蕉| 怡红院精品视频| 日韩视频免费中文字幕| 乱亲女秽乱长久久久| 97超碰色婷婷| 久久精品91久久香蕉加勒比| 久久久综合免费视频| 成人午夜在线视频一区| 久久免费视频观看| 欧美老女人性生活| 久久精品国产电影| 精品亚洲夜色av98在线观看| 欧美日韩亚洲视频| 亚洲国产中文字幕在线观看| 成人激情视频小说免费下载| 日韩在线观看电影| 亚洲xxxxx| 国产精品天天狠天天看| 精品女同一区二区三区在线播放| 久久精品国产久精国产思思| 中文字幕日韩av电影| 欧美精品一本久久男人的天堂| 欧美黑人性视频| 国产精品主播视频| 欧美久久精品午夜青青大伊人| 日韩中文在线中文网三级| 色噜噜亚洲精品中文字幕| 久久夜精品va视频免费观看| 亚洲理论在线a中文字幕| 国产精品99久久久久久人| 日韩视频免费观看| 性色av一区二区三区红粉影视| 色香阁99久久精品久久久| 一区二区三区四区在线观看视频| 成人中文字幕在线观看| 亚洲天堂免费视频| 日本一本a高清免费不卡| 欧美一级淫片aaaaaaa视频| 国产一区香蕉久久| 最新91在线视频| 日韩成人xxxx| 久久伊人色综合| 日本一区二区在线播放| 精品中文字幕乱| 亚洲欧美综合精品久久成人| 日韩在线欧美在线国产在线| 亚洲午夜女主播在线直播| 久久久久久av| 精品视频久久久| 麻豆成人在线看| 欧美日韩国产综合新一区| 久久91亚洲精品中文字幕奶水| 亚洲欧美一区二区三区四区| 亚洲综合小说区| 亚洲国产欧美日韩精品| 国产69精品久久久久久| 欧美裸体xxxx极品少妇软件| 中文字幕亚洲欧美日韩在线不卡| 久久精品国产2020观看福利| 色妞在线综合亚洲欧美| 精品中文字幕视频| 亚洲精品日韩丝袜精品| 一区二区三区在线播放欧美| 91精品视频大全| 欧美视频免费在线| 69av在线视频| 国产日韩欧美黄色| 91美女片黄在线观看游戏| 韩曰欧美视频免费观看| 国产精品精品视频| 成人午夜在线影院| 成人xxxx视频| 在线观看中文字幕亚洲| 最近的2019中文字幕免费一页| 亚洲精品ady| 欧美大片欧美激情性色a∨久久| 91精品国产91久久久久久不卡| 欧美激情第99页| 日本精品视频在线| 国产精品青青在线观看爽香蕉| 国产精品成人免费电影| 久久久久久有精品国产| 日韩av在线免费观看| 精品国产一区二区在线| 亚洲色图欧美制服丝袜另类第一页| 国产精品成av人在线视午夜片| 国产精品丝袜白浆摸在线| 成人网址在线观看| 91精品91久久久久久| 亚洲性日韩精品一区二区| 精品国内产的精品视频在线观看| 国产精品久久久久国产a级| 国产精品丝袜久久久久久不卡| 亚洲一区二区久久久久久| 欧美专区第一页| 欧美孕妇与黑人孕交| 成人黄色免费看| 欧美国产精品va在线观看| 亚洲精品99999| 欧美成人网在线| 国产午夜精品一区理论片飘花| 亚洲毛片在线免费观看| 国产精品久久久久久久久粉嫩av| 欧美日韩国产成人在线观看| 亚洲激情视频在线| 日韩欧美中文在线| 欧美精品在线视频观看| 91久久综合亚洲鲁鲁五月天| 欧美在线视频一区二区| 中文国产成人精品久久一| 日韩精品极品视频| 国产有码在线一区二区视频| 日韩欧美中文第一页| 欧美激情三级免费| 91九色国产社区在线观看| 国产精品免费看久久久香蕉| 欧美美女18p| 久久不射热爱视频精品| 亚洲欧美精品中文字幕在线| 国产色视频一区| 日韩成人中文字幕| 91久久综合亚洲鲁鲁五月天| 伊人久久大香线蕉av一区二区| 国产成人精品午夜| 国产精品高潮在线| 国产精品久久一区主播| 精品国产乱码久久久久久虫虫漫画| 中文字幕久久精品| 国产精品久久久久福利| 国语对白做受69| 欧美激情免费看|