我需要形成一個shape_leng每條道路的表和每個道路座標(MULTILINESTRING)列可以有任意數量的分道線的,我需要將它們保存在一個排PHP:解析XML文件的多行字符串
XML文件格式的:幾路是多串,和其他幾個人都只有一個行:
我試圖解析它
(注:shape_leng是單個爲道路,但座標線可以是單個或多個道路。)
所以我不能像 shape_leng和座標這樣的特定順序添加它們。
我需要形成一個shape_leng每條道路的表和每個道路座標(MULTILINESTRING)列可以有任意數量的分道線的,我需要將它們保存在一個排PHP:解析XML文件的多行字符串
XML文件格式的:幾路是多串,和其他幾個人都只有一個行:
我試圖解析它
(注:shape_leng是單個爲道路,但座標線可以是單個或多個道路。)
所以我不能像 shape_leng和座標這樣的特定順序添加它們。
如果你想所有的座標插入到一個單一的數據庫行,我認爲你必須以不同的方式構建XPath和循環位。在道路上循環,然後使用XPath獲取屬於該道路的所有座標。例如:
// get all the roads and loop through them
$roads = $xml->xpath("//e:featureMember/b:AA_ROAD");
$i=0;
while(isset($roads[$i]))
{
// get the coordinates for the current road
$coordinates = $roads[i]->xpath("/b:the_geom/e:MultiLineString/e:lineStringMember/e:LineString/e:coordinates");
$shapel = $roads[i]->xpath("/b:SHAPE_Leng");
// add a second loop to concatinate all the $coordinates
$j=0;
while (isset($coordinates[$j])) {
// TODO concatinate coordinates
}
// insert the row
$b=mysql_query("INSERT IGNORE INTO `new`.`road1` (`coordstr`, `shapeleng`) values (GEOMFROMTEXT(concat('MULTILINESTRING ($a)')), '$shapel[$i]') ");
$i++;
echo "<br />";
echo $i;
}
蔭收到錯誤爲$ shapel = $道路[$ i]於 - >的xpath( 「/ B:SHAPE_Leng」);警告:的SimpleXMLElement ::的xpath()[simplexmlelement.xpath]:用C未定義命名空間前綴:\瓦帕\ WWW \ KGP \ newroadp.php上線14 $ shapel = $道路[$ i]於 - >的xpath( 「/ B:SHAPE_Leng」 ); – Rakesh12
所以......有什麼問題嗎? – McGarnagle
我需要形成一個shape_leng每路表和座標(MULTILINESTRING)每條道路的列可以有任意數量的分道線的,我需要將它們保存在一排 – Rakesh12
添加順序,當你查詢數據庫從中進行選擇,而不是在插入數據時進行選擇。這有幫助嗎? – hakre