$xml = file_get_contents("xxx.xml");$pa = "/<loc\s+id=\"([\w\d]+)\" type=\"1\">\s*([\w]+)\s*<\/loc>/is";
preg_match_all($pa, $xml, $matches);foreach($matches[1] as $key=>$value)
{
$city = $matches[2][$key];
$arrCity[$value] = $city;
}
var_dump($arrCity);
解决方案 »
- 发现一个极度郁闷的事情,求招数
- 新手请教一个关于PHP 从数据库取得数据后如何填充到XML文件中
- Parse error: syntax error, unexpected $end in E:\wamp\www\leave_
- ewebeditor存储超长字符串的郁闷问题。
- php 统计留言板点击数的问题
- 求两个正则表达式
- 问个代码解密的问题 高手帮忙看下
- 请教 php的网页为脚本的阅读 文章批量下载方式?
- PHP的一个BUG??????
- /index.php?|=../../../../../../../etc/passwd的漏洞怎样解决?
- 重装系统后linux丢失
- checkbox复选框的值如何写入数据库
其实你也可以用php的xml函数来解析.这样可能好写.$doc = new DOMDocument;
$doc->load('test.xml');
$locs = $doc->documentElement->getElementsByTagName('loc');
foreach($locs as $key=>$value)
{
$code = $value->getAttribute('id');
$arrCity[$code] = $value->nodeValue;
}
print_r($arrCity);
<search ver="2.0">
<loc id="CHABC001" type="1">Beijing </loc>
<loc id="CHABC002" type="1">Shanghai </loc>
<loc id="CHABC003" type="1">Guangzhou </loc>
<loc id="CHABC004" type="1">Hongkong </loc>
</search>
完整的是这样的,id是固定的8位的字符串。