Php XML文件中的循环 名称为$value1){ $name_array[]=trim((字符串)$value1); } foreach($obj->描述为$value2){ $description_array[]=trim((字符串)$value2); } foreach($obj->点->坐标为$value3){ $coordinates_array=trim((字符串)$value3); } ?> 提取数据 频率 呼号 定位器 拉特 长的 西索普

Php XML文件中的循环 名称为$value1){ $name_array[]=trim((字符串)$value1); } foreach($obj->描述为$value2){ $description_array[]=trim((字符串)$value2); } foreach($obj->点->坐标为$value3){ $coordinates_array=trim((字符串)$value3); } ?> 提取数据 频率 呼号 定位器 拉特 长的 西索普,php,xml,Php,Xml,我在php.net上快速搜索了SimpleXMLExtractor。没有任何结果 请替换此行: <?php $xml = "<Placemark> <name>ED1YBY</name> <description><![CDATA[145.750 MHz -600 kHz FM (RV60 - R6)<br>IN62IG<br>URE Ourense]]></description> <s

我在php.net上快速搜索了SimpleXMLExtractor。没有任何结果

请替换此行:

<?php
$xml = "<Placemark>
<name>ED1YBY</name>
<description><![CDATA[145.750 MHz -600 kHz FM (RV60 - R6)<br>IN62IG<br>URE Ourense]]></description>
<styleUrl>#icon-503-DB4436</styleUrl>
<Point>
<coordinates>
-7.281189,42.271212,0
</coordinates>
</Point>
</Placemark>
<Placemark>
<name>ED1YBY</name>
<description><![CDATA[145.750 MHz -600 kHz FM (RV60 - R6)<br>IN62IG<br>URE Ourense]]></description>
<styleUrl>#icon-503-DB4436</styleUrl>
<Point>
<coordinates>
-7.281189,42.271212,0
</coordinates>
</Point>
</Placemark>
";

$obj = new SimpleXMLExtractor($xml);

$name_array = array();
$description_array = array();
$coordinates_array = array();

foreach ($obj->name as $value1) {
$name_array[] = trim((string)$value1);
}

foreach ($obj->description as $value2) {
$description_array[] = trim((string)$value2);
}

foreach ($obj->Point->coordinates as $value3) {
$coordinates_array = trim((string)$value3);
}
?>

<!DOCTYPE HTML>
<html>
<head>
<title>EXTRACTING DATA</title>
</head>

<body>
<center>
<table>
<tr>
<th><h4 style = "width:300px; text-align:center">FREQUENCY</h4></th>
<th><h4 style = "width:140px; text-align:center">CALLSIGN</h4></th>
<th><h4 style = "width:140px; text-align:center">LOCATOR</h4></th>
<th><h4 style = "width:140px; text-align:center">LAT</h4></th>
<th><h4 style = "width:140px; text-align:center">LONG</h4></th>
<th><h4 style = "width:140px; text-align:center">SySop</h4></th>
</tr>

<?php
for ($i = 0; $i < count($name_array); $i++) {
echo "<tr style = 'text-align:center'>";
$notes = explode("<br>", $description_array[$i]);
echo "<td>".$notes[0]."</td>";
echo "<td>".$name_array[$i]."</td>";
echo "<td>".$notes[1]."</td>";
$latlon = explode("," , $coordinates_array);
echo "<td>".$latlon[1]."</td>";
echo "<td>".$latlon[0]."</td>";
echo "<td>".$notes[2]."</td>";
echo "</tr>";
}
?>

</table>
</center>
</body>
</html>
为此:

$obj = new SimpleXMLExtractor($xml);
另一个问题是您需要一个根XML标记。比如说,

$obj = simplexml_load_string($xml);


另外,请将您的XML复制并粘贴到此网站,以验证您的XML。

欢迎使用。前几天我用simplexml\u load\u字符串运行了您的代码,我得到了看起来像表的纯文本。您作为问题发布的代码是否具有您提到的第二位标记?您可能希望更新您的问题,以包含整个代码的粘贴库。信息越多越好。正确,输出是一个表,其中填充了本机函数提取的数据。我在代码中添加了第二个placemark(只是第一个placemark的复制/粘贴)作为示例。@ChemicalWeb请查看更新的响应。您需要添加一个根标记。另外,请确保您的XML格式正确。谢谢Ravi,这次显然没有错误消息。我必须微调提取的偏移量,但这个建议似乎是正确的!不客气。我很高兴能帮上忙。请毫不犹豫地将此答案标记为您的最佳答案。
<placemarkers>
    <placemarker></placemarker>
    <placemarker></placemerker>
</placemarkers>