【发布时间】:2016-06-06 18:35:57
【问题描述】:
如何使用 PHP 将此 XML/JSON 数据转换为 HTML select 下拉列表?
JSON/XML 数据:
{"CountryList":"<Countries><Country><Code>AF<\/Code><Name>Afghanistan<\/Name><\/Country><Country><Code>AL<\/Code><Name>Albania<\/Name><\/Country><Country><Code>DZ<\/Code><Name>Algeria<\/Name><\/Country><Country><Code>AS<\/Code><Name>American Samoa<\/Name><\/Country><Country><Code>AD<\/Code><Name>Andorra<\/Name><\/Country><Country><Code>AO<\/Code><Name>Angola<\/Name><\/Country><Country><Code>AI<\/Code><Name>Anguilla<\/Name><\/Country><Country><Code>AQ<\/Code><Name>Antarctica<\/Name><\/Country><Country><Code>AG<\/Code><Name>Antigua & Barbuda<\/Name><\/Country><Country><Code>AR<\/Code><Name>Argentina<\/Name><\/Country><Country><Code>AM<\/Code><Name>Armenia<\/Name><\/Country><Country><Code>AW<\/Code><Name>Aruba<\/Name><\/Country><Country><Code>AU<\/Code><Name>Australia<\/Name><\/Country><Country><Code>AT<\/Code><Name>Austria<\/Name><\/Country><Country><Code>AZ<\/Code><Name>Azerbaijan<\/Name><\/Country><Country><Code>BS<\/Code><Name>Bahamas<\/Name><\/Country><Country><Code>BH<\/Code><Name>Bahrain<\/Name><\/Country><Country><Code>BD<\/Code><Name>Bangladesh<\/Name><\/Country><Country><Code>BB<\/Code><Name>Barbados<\/Name><\/Country><Country><Code>BY<\/Code><Name>Belarus (Belorussia)<\/Name><\/Country><\/Countries>","Error":{"ErrorCode":0,"ErrorMessage":""},"Status":1,"TokenId":"bdf0738c-7a47-410e-961a-52da9b5df935"}
所需的 HTML 输出:
<select>
<option value="AF|Afghanistan">Afghanistan</option>
<option value="AL|Albania">Albania</option>
<option value="DZ|Algeria">Algeria</option>
<option value="AS|American Samoa">American Samoa</option>
<option value="AD|Andorra">Andorra</option>
<option value="AO|Angola">Angola</option>
<option value="AI|Anguilla">Anguilla</option>
<option value="AQ|Antarctica">Antarctica</option>
<option value="AG|Antigua & Barbuda">Antigua & Barbuda</option>
<option value="AR|Argentina">Argentina</option>
<option value="AM|Armenia">Armenia</option>
<option value="AW|Aruba">Aruba</option>
<option value="AU|Australia">Australia</option>
<option value="AT|Austria">Austria</option>
<option value="AZ|Azerbaijan">Azerbaijan</option>
<option value="BS|Bahamas">Bahamas</option>
<option value="BH|Bahrain">Bahrain</option>
<option value="BD|Bangladesh">Bangladesh</option>
<option value="BB|Barbados">Barbados</option>
<option value="BY|Belarus (Belorussia)">Belarus (Belorussia)</option
</select>
解析后得到这样的数组
数组
(
[CountryList] => AFA阿富汗AL阿尔巴尼亚DZ阿尔及利亚AS美属萨摩亚AD安道尔AO安哥拉AI安圭拉AQ南极洲AG安提瓜和巴布达AR阿根廷A亚美尼亚AWA鲁巴AU澳大利亚ATA奥地利AZ阿塞拜疆BS巴哈马BHBahrainBDB孟加拉国BB巴巴多斯BY白俄罗斯(白俄罗斯)
[错误] => 数组
(
[错误代码] => 0
[错误消息] =>
)
[状态] => 1
[TokenId] => 5a5e32c4-77ee-4703-b0b1-4ff275ac61asw0
)
我在以下链接中看到的数据 https://drive.google.com/file/d/0B9VV_J4sKTatdWJGeHJkOVZzZ00/view?usp=sharing
【问题讨论】:
-
您的数据不是 XML,是 JSON 在“CountryList”对象中带有一些标签(自定义?我不知道格式)
-
数据从何而来?来自 XML?你不能访问真正的 XML?
-
乍一看,格式看起来很糟糕。好像 CountryList 中缺少所有开始标签。
-
我投票决定将此问题作为题外话结束,因为它 - 以目前的形式 - 是一个“请写我的代码”问题
-
请看我已编辑 JSON/XML 数据:在帖子中,