我试图解析XML文件中的一些数据。我可以使用下面的脚本从XML文件成功解析数据。
Html.DropDownList("Adresses","Select Address")
此脚本运行正常。但我还需要使用simplexml_load_string()函数来处理此解析。我将相同的XML内容转换为$ response变量。我正在使用这个脚本:
<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_file('xml/montreal.xml');
if ($sxe === false) {
foreach(libxml_get_errors() as $error) {
echo $error->message . PHP_EOL;
}
} else {
$sxe->registerXPathNamespace('h', 'http://schemas.example.com/webservices/hotelsdkfs');
$hotels = $sxe->xpath('//h:Hotel');
$rowF = '<li><div class="title">%s</div><div class="artist">by %s</div></li>'. PHP_EOL;
foreach ($hotels as $hotel) {
$attr = $hotel->attributes();
printf($rowF, $attr['name'], $attr['brandId']);
}
}
?>
但它不起作用。显示错误&#34;期望开始标记,&#39;&lt;&#39;找不到&#34;。我怎么解决这个问题?
我的XML是:
<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string($response);
if ($sxe === false) {
foreach(libxml_get_errors() as $error) {
echo $error->message . PHP_EOL;
}
} else {
$sxe->registerXPathNamespace('h', 'http://schemas.example.com/webservices/hotelsdkfs');
$hotels = $sxe->xpath('//h:Hotel');
$rowF = '<li><div class="title">%s</div><div class="artist">by %s</div></li>'. PHP_EOL;
foreach ($hotels as $hotel) {
$attr = $hotel->attributes();
printf($rowF, $attr['name'], $attr['brandId']);
}
}
?>
请帮忙。谢谢。