이 xpath 쿼리가 나를 미치게합니다. 내가 뭘 하려는지 특정 코스 유형에 대한 골프 코스의 XML 파일 (이 경우에는 Google Map API와 함께 사용하기위한 kml 파일)을 검색하고 각각 <Placemark>
요소를 잡아서 새 xml 객체를 만들 수 있습니다. 그 결과를 새로운 쿼리로 추가 필터링 할 수 있습니다. 문제는 내가 어떤 도움을 크게 감상 할 수DOM XPath 쿼리 도움말
$xml = '<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<Placemark id="placemark3">
<name>Test Country Club</name>
<description>
<![CDATA[
<div class="contact">Post Office Box 329 <a href="#" target="_blank">website</a></div>
]]>
</description>
<alpha>a</alpha>
<position>2</position>
<type>Public/Daily Fee</type>
<styleUrl>#nineholeStyle</styleUrl>
<Point>
<coordinates>-79.285576,37.111809</coordinates>
</Point>
</Placemark>
</Document>
</kml>';
$dom = new DOMDocument();
$dom->loadXML($xml);
$xpath = new DOMXPath($dom);
//trying to get any Placemark element where type child matches a specific query
//in this case we want to search for Public/Daily Fee and return the placemark and everything inside it.
$query = $xpath->query("//Placemark[type='Public/Daily Fee']/ancestor::Placemark");;
foreach ($query as $result) {
//eventually want to merge each result into new xml object to be further filtered
}
각 일치 <Placemark>
요소를 얻는 방법을 알아낼 수없는 것입니다. 감사합니다.
[KML 파일을 mysql/xpath 및 x quires에로드 중] 가능한 복제본 (http://stackoverflow.com/questions/5341039/loading-kml-file-in-to-mysql-xpath-and-x- quires) –
@Alejando 사실이지만, 해답이 없습니다. 아마도 병합되어야합니다. – Gordon