Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

phpÏÂÄÄÖÖ·½·¨ºÏÊʽâÎöxml£¬×ª»»³Éjson¸ñʽ

½âÎöxmlÎĵµµÄÀà¿âÓкܶàÖÖ£¬±È½Ï³£ÓõľÍÊÇSimpleXML£¬DOM Document£¬XMLReader£¬»ùÓÚSAXµÄxml_parseº¯Êý¡£
¸ù¾ÝxmlÎĵµ½á¹¹£¬ÒÔ¼°ÐèÇóµÄ²»Í¬£¬ÒªÑ¡ÔñºÃ¶ÔÓ¦µÄÀà¿â¡£
½âÎöСµÄÎĵµµÄ»°£¬Ê¹ÓÃSimpleXML±È½ÏºÏÊÊ£¬¼òµ¥µÄ¼¸¸öº¯Êý¾Í¿ÉÒԸ㶨¡£
Èç¹ûÎĵµ·Ç³£¾Þ´ó£¬×îºÃÊÇXMLReader´ò¿ª£¬Öмäת»»³ÉDOMÀ´½âÎö£¬¸Ð¾õDOMÓëXPath½áºÏµÄ±È½ÏºÃ¡£
ÒÔÉÏÊǽâÎöÒÑÖªÎĵµ½á¹¹µÄXML£¬±ÈÈçÖªµÀʹÓÃÁËʲôÃüÃû¿Õ¼ä£¬ÓÐÄÄЩÖ÷ÒªµÄ½ÚµãµÈµÈÐÅÏ¢µÄXMLÎĵµ¡£
Èç¹ûÊÇÒª½âÎöÈÎÒâµÄXMLÎĵµ£¬»¹ÊÇSAXµÄxml_parse±È½ÏºÏÊÊ£¬×Ô¼º¶¨ÒåÈý¸öhandlerº¯Êý¡£
±ÈÈç±ÊÕß¾ÍÊÇÓÃxml_parseÀ´½âÎöÈÎÒâµÄxmlÎĵµ£¬Éú³Éjson¸ñʽµÄ×Ö·û´®¡£
ÏÂÃæ°ÑʹÓÃxml_parseÀ´½âÎöxmlÎĵµµÄËùÐèÒªµÄÈý¸öhandler½²½âÒ»±é¡£
Ê×ÏÈÊÇÈý¸ö±äÁ¿
$depthÊÇÖ¸xmlÎĵµ½á¹¹µÄ²ãÊý£¬µÚÒ»²ãµÄÖµÊÇ0¡£
$json_arrayÊÇÒ»¸ö¶àλÊý×飬ÿһ¸öÔªËØµÄ³ÉÔ±ÊÇÒ»¸öjsonÊý×飬ֱ½Ó¿ÉÒÔÓÃjson_encodeº¯Êý¡£
Õâ¸öÊý×éµÄµÚһάµÄindexÊÇÉÏÃæµÄ$depth£¬½âÎöÍêÿһ²ãµÄxml½á¹¹ºó£¬¶¼½«Æä½á¹û"Õ³Ìù"µ½Æä¸¸½ÚµãµÄ×îºóÒ»¸ö×Ö½Úµãºó±ß¡£
½âÎöÍê³Éºó$json_array[0]¾ÍÊÇËùÓеÄxmlÎĵµÄÚÈݶ¼ÔÚÀïÃæÀ²¡£
$tag_name_stackÒ²ÊÇÒ»¸öÊý×飬ºó½øÏȳöµÄÊý×飬ÕýÔÚ´¦ÀíµÄ±êÇ©Ãû¾Í´æÔÚÕâÀïÃæ£¬´¦ÀíÍêÒ»¸ö±êÇ©ºó£¬¾Í½«ÆäÇë³öÊý×é¡£
private $depth = -1;
private $json_array = array();
private $tag_name_stack = array();
private function start_handler($parser, $name, $attrs) {
$arrts_array = array();
foreach ($attrs as $attr_name => $attr_value) {
$attr_name = str_replace(":", "$", $attr_name);
$arrts_array[$attr_name]=$attr_value;
}
$tag_name = str_replace(":", "$", $name);
$this->tag_name_stack[] = $tag_name;
$this->depth++;
//if (count($arrts_array) != 0) {
$this->json_array[$this->depth][$tag_name] = $arrts_array;<br>
Ê×ÏÈÊǰѸñêÇ©µÄÊôÐÔ¶¼×°ÈëÒ»¸öÊý×é
foreach ($attrs as $attr_name => $attr_value) {
      $attr_name = str_replace(":", "$", $attr_nam


Ïà¹ØÎĵµ£º

D Busѧϰ£¨Æß£©£ºÀûÓÃXML¶¨ÒåD BusÖ®ClientµÄÀý×Ó


¡¡¡¡¼ÌÐøÑ§Ï°D-Bus¡£Ö®Ç°Ñ§Ï°ÁËʹÓõײãµÄAPIÀ´·¢ËÍ£¬¼àÌýÏûÏ¢µÄ·½Ê½¡£ÔÚ
D-
Busѧϰ£¨ËÄ£©£º»ù´¡Ð¡Àý×Ó£¨Í¬²½ºÍÒì²½£©
Ö®ÖУ¬ÎÒÃǸø³öÁËÀûÓÃproxy½øÐз¢ËÍmethod_call£¬²¢µÈ´ýmethod_reply»òÕßerrorµÄclientÇé¿ö¡£ÔÚD-BusÖУ¬¿ÉÒÔ½«D-Bus½Ó¿Ú¶¨ÒåÓÃXML¸ñʽ±íÊö´¦Àí£¬²¢ÀûÓù¤¾ß£¬×Ô¶¯Éú³ÉÍ·Îļþ£¬¸ø³ö¹¤ÕûµÄµ÷Ó÷½Ê½¡ ......

XML³£ÓòÙ×÷

 XMLÔÚÎÒÃǵijÌÐòÖÐÓõ½µÄÔ½À´Ô½¶à£¬ÒòΪËü´æ´¢¡¢¶ÁÈ¡¡¢Ð޸ͼ±È½Ï·½±ã¡£
ÏÂÃæÎÒÀ´·ÖÏíÒ»ÏÂXMLµÄ³£ÓòÙ×÷(Ôöɾ¸Ä²é)£¬ÏÂÃæÊdzÌÐòÔËÐÐЧ¹û£º
Ôö(Ôö¼Ó½Úµã°üÀ¨´´½¨XML):
/// <summary>
/// ´´½¨XMLÎĵµ
/// </summary>
/// <param name="path"></param>
......

PHP+DOM´´½¨XMLÎļþ

´´½¨ÎĵµÀàÐÍÉùÃ÷
Ò»°ã¶øÑÔ£¬XMLÉùÃ÷·ÅÔÚÎĵµ¶¥²¿¡£ÔÚPHPÖÐÉùÃ÷Ê®·Ö¼òµ¥£ºÖ»ÐèʵÀý»¯Ò»¸öDOMÎĵµÀàµÄ¶ÔÏ󲢸³ÓèËüÒ»¸ö°æ±¾ºÅ¡£²é¿´³ÌÐòÇåµ¥A£º
³ÌÐòÇåµ¥ A
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
// display document in browser as plain text ......

Perl½âÎöXMLÎļþʱµÄ×Ö·û¼¯±àÂëÎÊÌâ

http://stackoverflow.com/questions/1112828/cannot-decode-string-with-wide-characters-appears-on-a-weird-place
http://man.ddvip.com/web/xmlzhzn/xml_cn/xml_encoding.asp.htm
http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=7226
http://topic.csdn.net/t/20030909/13/2240153.html
#
http://www.ezloo. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ