Verwenden von XML.etree.elementtree, um Werte zu extrahieren, die nicht funktionierenPython

Python-Programme
Anonymous
 Verwenden von XML.etree.elementtree, um Werte zu extrahieren, die nicht funktionieren

Post by Anonymous »

Hier ist das XML: < / p > < b r / > < c o d e > & l t ; m u l t i - r o u t i n g - e n g i n e - r e s u l t s & g t ; < b r / > & l t ; m u l t i - r o u t i n g - e n g i n e - i t e m & g t ; < b r / > & l t ; r e - n a m e & g t ; n o d e 0 & l t ; / r e - n a m e & g t ; < b r / > & l t ; s o u r c e - r e s o u r c e - u s a g e - p o o l - i n f o r m a t i o n & g t ; < b r / > & l t ; r e s o u r c e - u s a g e - e n t r y s t y l e = & q u o t ; p a t - p o o l & q u o t ; & g t ; < b r / > & l t ; r e s o u r c e - u s a g e - p o o l - n a m e & g t ; g o s _ s r c _ p o o l _ 1 9 8 _ 1 6 9 _ 3 4 _ 1 1 3 & l t ; / r e s o u r c e - u s a g e - p o o l - n a m e & g t ; < b r / > & l t ; r e s o u r c e - u s a g e - t o t a l - a d d r e s s & g t ; 1 & l t ; / r e s o u r c e - u s a g e - t o t a l - a d d r e s s & g t ; < b r / > 1
64512
2501
62011
3%
21%
2025-01-07 11:55:50 CST


198.169.34.113
0
Single Ports
2501
59963
62464
4%


-
Alg Ports
0
2048
2048
0%




node1


gos_src_pool_198_169_34_113
1
1
64512
2585
61927
4%
0%
1969-12-31 18:00:00 CST


198.169.34.113
0
Single Ports
2585
59879
62464
4%


-
Alg Ports
0
2048
2048
0%




< /code>
Jetzt finde ich, was ich extrahieren muss, ist:
'Ressourcen-Usage-Pool-Name', 'Ressourcen-Usage-Address', 'Resource-Usage-Usage' < /p>
Verwenden Sie diesen Code: < /p>

Code: Select all

 root2 = ET.fromstring(output3)
n = 0
contents = ['resource-usage-pool-name','resource-usage-address','resource-usage-usage']
for elem in root.findall(".//resource-usage-entry/*"):
for con in elem.iter():
if con.tag in contents:
if con.tag == 'resource-usage-pool-name':
rpn.append(elem.text)
if con.tag == 'resource-usage-address':
rua.append(elem.text)
if con.tag == 'resource-usage-usage':
ruu.append(elem.text.replace("%",""))

f.close()
fxml.close()

x = len(rpn)
y = len(rua)
z = len(ruu)

print("rpn x:" + str(x))
print("ruu y:" + str(y))
print("rua z:" + str(z))
< /code>
Aber die Ausgabe, die ich erhalte, ist < /p>
rpn x:2
ruu y:0
rua z:0
poolalert:0
poolalert:0
[root@RHEL8-20230921 junos-pyezP311]#
Aus irgendeinem Grund werden 'Ressourcen-Usage-Address' 'Ressourcen-Usage-Usage' nicht in ihr Array gezogen, irgendwelche Ideen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post