mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2025-12-31 08:50:41 +00:00
Update wave_ixml_reader.py
Switched XML parser from xml.etree to lxml with recovery
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import xml.etree.ElementTree as ET
|
#import xml.etree.ElementTree as ET
|
||||||
|
from lxml import etree as ET
|
||||||
import io
|
import io
|
||||||
|
|
||||||
class WavIXMLFormat:
|
class WavIXMLFormat:
|
||||||
@@ -13,10 +14,13 @@ class WavIXMLFormat:
|
|||||||
self.source = xml
|
self.source = xml
|
||||||
xmlBytes = io.BytesIO(xml)
|
xmlBytes = io.BytesIO(xml)
|
||||||
try:
|
try:
|
||||||
self.parsed = ET.parse(xmlBytes)
|
parser = ET.XMLParser(recover=True)
|
||||||
|
self.parsed = ET.parse(xmlBytes, parser=parser)
|
||||||
except ET.ParseError as err:
|
except ET.ParseError as err:
|
||||||
print("Error parsing iXML: " + str(err))
|
print("Error parsing iXML: " + str(err))
|
||||||
return None
|
decoded = xml.decode(encoding='utf_8_sig')
|
||||||
|
print(decoded)
|
||||||
|
self.parsed = ET.parse(io.StringIO(decoded))
|
||||||
|
|
||||||
def _get_text_value(self, xpath):
|
def _get_text_value(self, xpath):
|
||||||
e = self.parsed.find("./" + xpath)
|
e = self.parsed.find("./" + xpath)
|
||||||
|
|||||||
Reference in New Issue
Block a user