python删除xml文件的指定标签
迷茫
迷茫 2017-04-17 17:42:37
0
1
625

有个xml文件的格式大致如下:
<re>
<id>123</id>
<name>abc</name>
</re>
<re>
<id>126</id>
<name>abc</name>
</re>
<re>
<id>135</id>
<name>abc</name>
</re>
<re>
<id>147</id>
<name>abc</name>
</re>

然后另外一个delete.txt保存的是需要删除的re标签的id。假设txt内容如下:
126
147
需要做的就是读取这个delete.txt文件,然后在xml中找到这些id对应的<re>标签将其全部删除,如上例的结果就是:
<re>
<id>123</id>
<name>abc</name>
</re>

<re>
<id>135</id>
<name>abc</name>
</re>

请问是怎么做的。。另外需要提到的是这个xml文件挺大的,有200多M。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(1)
黄舟

BeautifulSoup パッケージを使用できます:

インストール:

リーリー
  • html パーサーが十分ではないと思われる場合は、ドキュメントを参照して他の適切なパーサーをインストールしてください。

  • BeautifulSoup について詳しく知りたい場合は、公式ドキュメント (中国語版あり) も参照してください。


テストファイル:

私が使用したテスト ファイルは次のとおりです:

リーリー

コード:

リーリー

プログラム出力:

リーリー

コードの説明:

まず、Beautiful Soup パッケージから BeautifulSoup クラス

をインポートします。 リーリー 次に、

は削除する ID と delete.txttest.xml からメインの XML コンテンツをそれぞれ読み取ります。次のステップでは、BeautifulSoup パーサーを使用して soup オブジェクト html.parser を具体化して生成します。 xmlを解析するには:

リーリー

ここでは、フィルタリング用の関数 has_delete_id を定義します。xml タグであり、削除する <re> タグが含まれている限り、<id> 内のすべてのタグが取得されます。 リーリー

次に、

は削除したいタグを見つけて、検索されたタグにアクセスしてメソッド soup(has_delete_id) を呼び出してファイルからタグを削除します。 decompose()

最後に

は、変更されたファイルを出力するのに役立ちます。 soup.prettify()

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!