我创建了一个简单的XML文档,该文档将包含许多城市的信息。
<?xml version="1.0" encoding="ISO-8859-1"?>
<config>
<city>
<id>London</id>
</city>
<city>
<id>New York</id>
</city>
</config>
我正在尝试提取城市元素并将它们放入数组中。到目前为止,我有以下内容,当我调用该函数时,输出只是Array
。
<?php
$configFile = 'cityConfig.xml';
function getCityConfig($configFile) {
$xml = new SimpleXmlElement(file_get_contents("cityConfig.xml"));
$cities = array();
$cityId = $xml->city[0]->id;
array_push($cities, $cityId);
$cityId = $xml->city[1]->id;
array_push($cities, $cityId);
//var_dump($cities);
return $cities;
}
//print_r(getCityConfig($configFile));
echo getCityConfig($configFile);
?>
var_dump
表示正在将值添加到数组中。
array(2) { [0]=> object(SimpleXMLElement)#2 (1) { [0]=> string(6) "London" } [1]=> object(SimpleXMLElement)#4 (1) { [0]=> string(8) "New York" } } Array
我正试图在这些方面取得成果。
$cities = array(
'London',
'New York',
'Paris'
);
在index.php中调用数组索引以显示内容。
$pageIntroductionContent = 'The following page brings twin cities together. Here you will find background information on ' . $cities[0] . ', ' . $cities[1] . ' and ' . $cities[2] . '.';
我出错的任何想法?
提前致谢。
答案 0 :(得分:1)
事实是,在 SimpleXMLElement 对象中,所有数据都表示为一个对象,包括属性(事实上,正如您的var_dump
所暗示的那样)。因此,您可以通过转换这些对象来获取字符串,因为它们实现了我认为的_toString()
方法。尝试:
$cityId = (string) $xml->city[0]->id;
它应该有用。