【发布时间】:2013-03-25 09:37:18
【问题描述】:
这是我的代码:
<?php
$dom = new DOMDocument();
$dom->load('http://services.gisgraphy.com/geoloc/search?lat=22.298569900000000000&lng=70.794301799999970000&radius=7000', true);
$dom->save('filename.xml');
?>
我得到这种类型的输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<results xmlns="http://gisgraphy.com">
<numFound>1</numFound>
<QTime>67</QTime>
<result>
<distance>1139.81967842778</distance>
<name>Rājkot</name>//
<adm1Code>09</adm1Code>
<adm1Name>State of Gujarāt</adm1Name>
<asciiName>Rajkot</asciiName>
<countryCode>IN</countryCode>
<featureClass>P</featureClass>
<featureCode>PPL</featureCode>
<featureId>1258847</featureId>
<gtopo30>139</gtopo30>
<population>1177362</population>
<timezone>Asia/Kolkata</timezone>
<lat>22.299999237060547</lat>
<lng>70.78333282470703</lng>
<placeType>City</placeType>
<oneWay>false</oneWay>
<length>0.0</length>
<google_map_url>http://maps.google.com/maps?f=q&amp;ie=UTF-8&amp;iwloc=addr&amp;om=1&amp;z=12&amp;q=R%C4%81jkot&amp;ll=22.329999237060548,70.78333282470703</google_map_url>
<yahoo_map_url>http://maps.yahoo.com/broadband?mag=6&amp;mvt=m&amp;lon=70.78333282470703&amp;lat=22.299999237060547</yahoo_map_url>
<country_flag_url>/images/flags/IN.png</country_flag_url>
</result>
</results>
在上面的 XML 文件中,我想将 name 节点值中的特殊字符转换为简单字符,例如Rājkot 包含特殊字符 ā,我想将其转换为简单的 a 字符。
【问题讨论】:
-
请显示输入的XML数据和你想要的输出XML格式
-
也许我遗漏了一些东西,但是如果您确实需要将 XML 转换为数组,为什么还要将它转换为 XML 呢?
-
@Uby 你是对的,这个链接也给了我 xml 文件,但我想保存这个 xml 文件,其中有一个名称为
name的节点,值为Rajkot这个值内容一些特殊字符,如Rajkota检查它... -
@Uby 我想使用
php输出这个链接,然后忘记上面的一切 -
而不是像
Rājkot到Rajkot或Gujarāt到Gujarat这样的猜测字符转换;创建一个带有standard_name列和别名1:n的别名表并继续更新它。不时使用字符转换工具 (iconv) 进行猜测和手动确认。语音/多语言支持是一项功能,但也是一种负担!
标签: php xml xml-parsing transliteration