0

私は新しいユーザーの python で、XML ファイルを操作しようとしています。XML タグの外側にテキストがある場合は、文字列のみです。以下の例のように:

blhpxxxx [SCRIPT MODE]> show syslog server 1 Retrieving syslog server (s) ... <EVENT SEVERITY = "Repaired" />

問題は、タグ内にないすべてのテキストを削除する方法を想像できないことです。


とにかく、私はPythonの世界に不慣れだと言ったので、私の問題についての詳細が不足していて申し訳ありませんが、問題の解決策を見つけました。

1 - 取得したファイルは xml ではなく、テキストの途中に xml タグしか含まれていません。構造の完全な例を次に示します。

HP BladeSystem Onboard Administrator ( C ) Copyright 2006-2013 Hewlett - Packard Development Company, LP

blhp0001 [スクリプト モード] > syslog サーバー 1 を表示

syslog サーバーを取得しています...

Syslog サーバー 1 :

<EVENT_LOG DESCRIPTION="Integrated Management log">
 < EVENT
  SEVERITY = " Repaired "
  CLASS = " Rack Infrastructure "
  Last_update = " 05/15/2011 15:58 "
  INITIAL_UPDATE = " [NOT SET ] "
  COUNT = " 11 "
  DESCRIPTION = " Server Blade Enclosure Inadequate Power To Power On : Not Enough Power ( Enclosure Serial Number " , " Slot 6 ) "
 / >
 < EVENT
  SEVERITY = " Informational "
  CLASS = " Rack Infrastructure "
  Last_update = " 05/09/2011 24:18 "
  INITIAL_UPDATE = " 05/09/2011 12:18 "
  COUNT = "1"
  DESCRIPTION = " LAN Settings Changed ( USE844HBNT Enclosure Serial Number ) "
 / >

blhp0001 [スクリプト モード] > syslog サーバーを表示


#!/usr/bin/env python

prt = False

for line in open('meh').readlines():
    if 'EVENT_LOG' in line:
        if prt:
            print line.rstrip()
        prt ^= True
    if prt:
        print line.rstrip()

これで、タグ間のすべてのテキストを削除できます。タグではない、またはタグです。

ご清聴ありがとうございました。

4

1 に答える 1