php SimpleXML 例子

$txt = GetRemoteText($url);
if(strlen($txt) > 0)
{
    $xml = simplexml_load_string($txt); //获取xml
    if($xml)
    {
        $logo = $xml->xpath("webinfo");
        $title = $xml->xpath("title");
        $keywords = $xml->xpath("keywords");
        $description = $xml->xpath("description");

        $ret .= "var WG_Logo = \"" . $logo[0]["logo"] . "\"\r\n";
        $ret .= "var WG_Title = \"" . $title[0]["title"] . "\"\r\n";
        $ret .= "var WG_Keywords = \"" . $keywords[0]["keywords"] . "\"\r\n";
        $ret .= "var WG_Description = \"" . $description[0]["description"] . "\"\r\n";

        $group_info = "\r\nvar group_info = [\r\n";
        $district_info = "\r\nvar district_info = [\r\n";
        foreach ($xml->children() as $child)
        {
            if("gamelist" == $child->getName())
            {
                //组信息
                foreach($child->children() as $groupChild)
                {
                    $group_info .= "[‘" . $groupChild["id"] . "‘,‘" . $groupChild["gamename"] . "‘],\r\n";
                }
            }
            else if("zonelist" == $child->getName())
            {
                //分区信息
                foreach($child->children() as $districtChild)
                {
                    $district_info .= "[‘" . $districtChild["id"] . "‘,‘" . $districtChild["zonename"]
                         . "‘,‘" . $districtChild["starttime"] . "‘,‘" . $districtChild["gameid"]. "‘],\r\n";
                }
            }
        }
        $group_info .= "];\r\n";
        $district_info .= "];\r\n";
        $ret .= $group_info . $district_info;

        $file = fopen($localJsPath, "w");
        fwrite($file, $ret);
        fclose($file);
    }
}
$xml->xpath("webinfo")[0]["logo"] 有些php编译器通不过
时间: 2024-10-18 15:50:36

php SimpleXML 例子的相关文章

php操作dom,simplexml、xpath对xml的读取,以及xml作为数据传输接口的使用的认识

php操作xml文档取数据[php对xml的解析] 1.php操作DOM[Document Object Model] 每一个文档从根节点开始构成一个树状模型[DOM] DOM文档类: DOMDocument:文档类 DOMNodeList:节点列表类 DOMNode:节点类 DOMElement:元素类 这四个类就可以针对DOM文档进行操作 2.操作DOM对象 (1)创建DOM对象: $dom = new Document();//对对象的版本,编码进行限制 (2)加载xml文件 $dom->

使用simplexml处理xml文件的Tips

Php中处理xml有多种方式,SimpleXML比较简洁,对于简单的应用比较适合.不过SimpleXML不适用于包含namespace的xml,而且要保证xml格式完整(well-formed).而且SimpleXML读取xml文件是一次读入,处理非常大的文件的时候要注意. 在php网站打开PHP Manual -> Function Reference -> XML Manipulation 可以看到处理XML的方式还是挺多的.不过大部分的处理使用SimpleXML足够了. SimpleXM

Android小例子:使用反射机制来读取图片制作一个图片浏览器

效果图: 工程文件夹: 该例子可供于新手参考练习,如果有哪里不对的地方,望指正>-< <黑幕下的人> java代码(MainActivity.java): package com.example.imageswitchtest; import java.lang.reflect.Field; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.v

JSON 简单例子

代码: json [ { "title" : "a", "num" : 1 }, { "title" : "b", "num" : 1 }, { "title" : "c", "num" : 1 }] 例子1 js var box=[ { title:'a', num:1, height:177, }, { title:'b',

最简单的基于FFmpeg的AVDevice例子(读取摄像头)【转】

转自:http://blog.csdn.net/leixiaohua1020/article/details/39702113 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] libavdevice使用 注意事项 代码 结果 下载 =====================================================最简单的基于FFmpeg的AVDevice例子文章列表: 最简单的基于FFmpeg的AVDevice例子(读取摄像头) 最简单的基于FFm

Clustering by Passing Messages Between Data Points(Brendan J.Frey* and Delbert Dueck)例子

例1,数据点聚类:AP应用到25个二维数据中,使用负平法误差作为相似度  聚类数目不用预先指定 AP的一个优点是聚类数目不用预先指定,而是在消息传递方法中慢慢浮现,取决于输入参考度(preference),这种自动模型的选择,基于先验指定每一个数据点有多合适作为exemplar. 下图表示输入常量参考度对聚类数目的影响,这种关系近乎同样于在精确最小平方误差中的关系. 例2,人脸识别:使用优化标准为均方差,识别900张灰度图像   AP一致的能够实现更低的误差,在时间上花费要少于两个数量级. AP

Python之路42-socket介绍及简单例子

socket对数据的底层收.发做了封装 实现通信要通过IP+port 一个socket服务端和客户端实现的伪代码 # 发送端 # import socket # socket.TCP/IP # connect(a.ip,a.port) # socket.send("hello") # socket.recv() # socket.close() # 接收端 # import socket # socket.TCP/IP # listen(0.0.0.0,6969) # waiting(

c语言一个例子对比php学习随记

今天开始学写一些简单的C例子,发现很多和PHP不一样的地方,做个笔记. #include <stdio.h> int main(void) { int a,b; printf("请输入整数a"); //这里是用双引号,不能用单引号,PHP类似的地方可以用单引号,这里需注意 scanf("%d",&a); //获取用户输入值存入a printf("请输入整数b"); scanf("%d",&b);//

判断当前进程是否以管理员权限运行(AllocateAndInitializeSid后,用CheckTokenMembership与AdministratorsGroup进行比较,和Delphi的那个例子还有点不一样)

在Win7下(Vista以上的...)有时某些操作就是会让人郁闷 开启了UAC的话,得以管理员权限运行才不会出现Access is denied... 但是,程序又不是非得什么时候都用那破管理员权限的 总不能在manifest里加权限,然后用户运行时老弹确认吧? 当然啦,可以将需要管理员权限的部分写到另一个小程序,需要时调用它就行了 不过还是不爽,如果是一个小小的程序还要再加另一个小小小程序的话 那好,干脆判断是不是Win7...开启了UAC没有之类 开启的话再判断下是不是以管理员权限运行,不是