您可以使用PHP中的DOMDocument。
你加載你的文件,然後循環通過文檔的childNodes。
<?php
$dom=new DOMDocument();
$dom->load("file.xml");
$root=$dom->documentElement; // This can differ (I am not sure, it can be only documentElement or documentElement->firstChild or only firstChild)
$nodesToDelete=array();
$markers=$root->getElementsByTagName('marker');
// Loop trough childNodes
foreach ($markers as $marker) {
$type=$marker->getElementsByTagName('type')->item(0)->textContent;
$title=$marker->getElementsByTagName('title')->item(0)->textContent;
$address=$marker->getElementsByTagName('address')->item(0)->textContent;
$latitude=$marker->getElementsByTagName('latitude')->item(0)->textContent;
$longitude=$marker->getElementsByTagName('longitude')->item(0)->textContent;
// Your filters here
// To remove the marker you just add it to a list of nodes to delete
$nodesToDelete[]=$marker;
}
// You delete the nodes
foreach ($nodesToDelete as $node) $node->parentNode->removeChild($node);
echo $dom->saveXML();
?>
您可以保存你的輸出這樣的XML
$dom->saveXML(); // This will return the XML as a string
$dom->save('file.xml'); // This saves the XML to a file
爲此分析在JavaScript中,你應該使用jQuery(一個小,但功能強大的庫)。
您可以直接從Google Code Repository包含該庫。
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
該庫是跨瀏覽器,非常小。它應該被緩存在很多情況下,因爲一些網站使用谷歌代碼
$(yourXMLStringOrDocument).find("marker").each(function() {
var marker=$(this);
var type=marker.find('type').text();
var title=marker.find('title').text();
var address=marker.find('address').text();
var latitude=marker.find('latitude').text();
var longitude=marker.find('longitude').text();
});