Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: 'ElementTree' object has no attribute 'tag' in Python

I want to parse an XML file and extract the nodes that I am interested in if the nodes contain a specific string (keyword). But to use find and finall functions, first I decided to lower case the list of the keywords that I have, as well as the XML file. Here is code.

import xml.etree.ElementTree as ET
from xml.etree.ElementTree import tostring
import csv
tree=ET.parse('/Users/m/Documents/dr.xml')
**t = tostring(tree)**
t = t.lower()
tree= ET.fromstring(t).......

I get error on this line:

t = tostring(tree)

Any idea how this can be fixed? Thx

like image 909
nina_dev Avatar asked Aug 02 '18 18:08

nina_dev


1 Answers

You need to parse it from the root node

import xml.etree.ElementTree as ET
from xml.etree.ElementTree import tostring
tree=ET.parse('t.xml')
tree = tree.getroot()
t = tostring(tree)
t = t.lower()
tree= ET.fromstring(t)
like image 163
Madhan Varadhodiyil Avatar answered Oct 19 '22 16:10

Madhan Varadhodiyil