Skip to main content

XML.パース

Python

xml.etree.ElementTree を使う

py
import xml.etree.ElementTree as ET

tree = ET.parse(kml_file)
root = tree.getroot()

NS = 'http://www.opengis.net/kml/2.2'

for folder in root[0].findall('./ns:Folder', {'ns' : NS}):
for placemark in folder[1:]:
..

みたいな感じ

Ruby

rexml/document を使う

rb
elem = REXML::Document.new(File.open(fname))

elem.attributes.each {|k, v|
puts "#{k} : #{v}"
}

text = elem.text.to_s
puts text

elem.elements.each {|e|
..
}

val = doc.elements[xpath].attributes[key]
puts val

REXML::XPath.match(doc, xpath).each {|e|
val = e.attributes[key]
puts val
}