martes, 27 de agosto de 2013

El siguiente programa filtra los datos importantes en un documento xml y los imprime de forma organizada:

http://codepad.org/z9D2wFv0

arch = """<listitem>
    <variable name="UUID">2bd9c142-9e91-4182-b85c-5bb616823bd9</variable>
    <variable name="Name">kurokysan</variable>
    <variable name="AccStatus">1</variable>
    <variable name="WWWFilter">JARSP</variable>
    <variable name="UseTemplate">1</variable>
    <variable name="Rights">0</variable>
    <variable name="AdmFilter">JARSP</variable>
    <variable name="QuotaDayEnabled">0</variable>
    <variable name="QuotaDayType"></variable>
    <variable name="QuotaDay">5242880</variable>
    <variable name="QuotaWeekEnabled">0</variable>
    <variable name="QuotaWeekType"></variable>
    <variable name="QuotaWeek">0</variable>
    <variable name="QuotaMonthEnabled">0</variable>
    <variable name="QuotaMonthType"></variable>
    <variable name="QuotaMonth">0</variable>
    <variable name="QuotaAction"></variable>
    <variable name="QuotaSendAlert">0</variable>
    <variable name="Lang">detect</variable>
    <variable name="DontUseLangTemp">0</variable>
    <variable name="DetectedLang"></variable>
  </listitem>"""


indice = 0
indice2 = 0
while indice < len(arch):
    init = arch.find('"',indice)
    final = arch.find('"',init + 1)
    init2 = arch.find('">',indice2)
    final2 = arch.find('<',init2+1)
    if init == -1:
        break
    indice = final + 1
    indice2 = final + 1
    if len(arch[init2+2:final2]) == 0:
        print arch[init+1:final] + ' = ' + str(None)
    else:
        print arch[init+1:final] + ' = ' + str(arch[init2+2:final2])


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
UUID = 2bd9c142-9e91-4182-b85c-5bb616823bd9
Name = kurokysan
AccStatus = 1
WWWFilter = JARSP
UseTemplate = 1
Rights = 0
AdmFilter = JARSP
QuotaDayEnabled = 0
QuotaDayType = None
QuotaDay = 5242880
QuotaWeekEnabled = 0
QuotaWeekType = None
QuotaWeek = 0
QuotaMonthEnabled = 0
QuotaMonthType = None
QuotaMonth = 0
QuotaAction = None
QuotaSendAlert = 0
Lang = detect
DontUseLangTemp = 0
DetectedLang = None

No hay comentarios.:

Publicar un comentario