以下のXMLファイルからタグ名「gml:posList」の情報だけを標準出力表示させたいです。
ゆくゆくは、位置座標データのみをCSVで出力を考えています。
取り敢えず、標準出力を行いたいですが、うまくいきません
どなたかご教示お願い致します。
pythonコードは以下です。
python
1# coding: utf-8 2from bs4 import BeautifulSoup 3import csv 4import pandas as pd 5import os 6 7xml = open("A31-12_13.xml", "r", encoding="utf-8").read() 8soup = BeautifulSoup(xml, 'lxml-xml') 9 10info = {} 11data = soup.find_all("gml:posList") 12print(data)
試したこと
find_allで指定すると、膨大な量になるから、メモリエラー等で何も表示されないのかと思い、findで指定してみましたが、結果はNoneでした。
xml
1<?xml version="1.0" encoding="UTF-8"?> 2<ksj:Dataset gml:id="A31Dataset" xmlns:ksj="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app KsjAppSchema-A31.xsd"> 3<gml:description>国土数値情報 浸水想定区域 インスタンス文書</gml:description> 4<!-- データ提供範囲 --> 5<gml:boundedBy> 6 <gml:EnvelopeWithTimePeriod srsName="JGD2000 / (B, L)" frame="GC / JST"> 7 <gml:lowerCorner>20.0 123.0</gml:lowerCorner> 8 <gml:upperCorner>46.0 154.0</gml:upperCorner> 9 <gml:beginPosition calendarEraName="西暦">1900</gml:beginPosition> 10 <gml:endPosition indeterminatePosition="unknown"/> 11 </gml:EnvelopeWithTimePeriod> 12</gml:boundedBy> 13<gml:Curve gml:id="c00001"> 14 <gml:segments> 15 <gml:LineStringSegment> 16 <gml:posList> 1735.817677 139.767502 1835.817654 139.767160 1935.817635 139.767028 2035.817580 139.766645 2135.817475 139.766214 2235.817265 139.765878 2335.816824 139.765594 2435.816578 139.765308 2535.816492 139.765208 2635.816435 139.765142 2735.816361 139.765211 2835.816338 139.765231 2935.816223 139.765338 3035.815745 139.765779 3135.815693 139.765699 3235.815020 139.766155 3335.814327 139.765866 3435.813789 139.766001 3535.813731 139.767758 3635.814411 139.767795 3735.815425 139.767733 3835.815438 139.768314 3935.815339 139.768599 4035.815413 139.769020 4135.815673 139.769181 4235.815487 139.769552 4335.814745 139.770431 4435.815017 139.770530 4535.816101 139.770586 4635.816044 139.770143 4735.816024 139.769277 4835.816093 139.768886 4935.815850 139.768255 5035.815754 139.767677 5135.815600 139.767350 5235.815369 139.766599 5335.815888 139.766445 5435.816850 139.765963 5535.817292 139.766425 5635.817254 139.767157 5735.817372 139.767640 5835.817677 139.767502 59 </gml:posList> 60 </gml:LineStringSegment> 61 </gml:segments> 62</gml:Curve> 63<gml:Surface gml:id="a00001"> 64 <gml:patches> 65 <gml:PolygonPatch> 66 <gml:exterior> 67 <gml:Ring> 68 <gml:curveMember xlink:href="#c00001"/> 69 </gml:Ring> 70 </gml:exterior> 71 </gml:PolygonPatch> 72 </gml:patches> 73</gml:Surface>
回答2件
あなたの回答
tips
プレビュー