2016-08-24 5 views
0

私は扱われるべき大きなXMLを持っています。これらのものが< _0の場合はすべて「状況」タグを抽出する必要があります:roadNumber> 52、< _0:roadNumber> AP-9または< _0:roadNumber>残りのXMLは必要ないので、roadNumber> A-55値がその値に含まれています。次に、XMLの減算を使用してXML文書を作成します。実装が必要なわけではありません。このAPIを処理するにはどうすればいいのでしょうか。 PD子どものテキストノードに応じて大きなXMLからサブXMLを抽出するJavaまたはPythonの方法

私finallは達成は、データベースにXMLをダンプすることです

XMLのGET:本当に大きなXML文書の場合

print("GETTING XML...") 
resp = requests.get('http://infocar.dgt.es/datex2/dgt/SituationPublication/all/content.xml', stream = True) #XML that I need 
if resp.status_code != 200: 
    raise ApiError('GET /tasks/ {}'.format(resp.status_code)) 
print("XML RECIBIDO 200 OK") 
#resp.raw.decode_content = True 
print("GUARDANDO XML") 
with open("DGT_DATEX.xml", "wb") as handle: 
    for data in (resp.iter_content()): 
     handle.write(data) 

dom = parse("DGT_DATEX.xml") 

答えて

1

あなたべきでストリーミングするための最良の使用SAX(ではありません一度に完全な文書をメモリに保存する必要があります)、要素を見つけるためには、XPathが本当に役に立ちます。

XPath supportはで、SAXはxml.saxですが、もちろん他のパーサーもあります。

Java用のSAX実装とXPathもあります。

関連する問題