我有以下XML文件(只是摘录):
catch
现在我的上一步将所有<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="Osmosis 0.44.1">
<node id="1" version="1" timestamp="2015-09-03T12:41:49Z" lat="11.7889317" lon="11.0905799">
<tag k="ID_2" v="141411"/>
<tag k="FullName" v=""/>
<tag k="OID" v="1111"/>
<tag k="NAME" v="name"/>
<tag k="AdditionalInformation" v=""/>
<tag k="id" v="1234567890"/>
<tag k="shortname" v=""/>
<tag k="NR" v=""/>
</node>
<way id="9">
<nd ref="10"/>
<nd ref="11"/>
<nd ref="12"/>
<nd ref="13"/>
<tag k="ID_2" v=""/>
<tag k="FullName" v="Somefullname"/>
<tag k="OID" v="358"/>
<tag k="NAME" v=""/>
<tag k="AdditionalInformation" v=""/>
<tag k="id" v="71358"/>
<tag k="shortname" v="MUC"/>
<tag k="NR" v="50"/>
</way>
属性添加到所有节点和方式。我现在需要的是删除k=
出现的所有标签,例如:
在节点标记中:
v=""
以及标签:
<tag k="shortname" v=""/>
<tag k="NR" v=""/>
使用R和<tag k="ID_2" v=""/>
<tag k="NAME" v=""/>
并将所有内容保存回打开的XML文件中。由于XML package
属性可以更改,如果有一个解决方案,我可以使用k=
搜索标记并删除它出现的标记,而不必搜索像{{{{{ 1}}。
答案 0 :(得分:0)
您可以使用removeNodes
然后保存
removeNodes(doc["//node/tag[@v='']"])
removeNodes(doc["//way/tag[@v='']"])