在我的python脚本中,我正在努力使用xml文件。我正在使用urllib下载xml文件并将它们转换为字符串。接下来,我想解析xml文件。
import urllib
data = urllib.request.urlopen(link).read()
data = str(data)
data2 = data.replace('\n', '')
我想删除\ n的数据,但是数据2没有删除\ n字符,数据2的示例输出如下所示:
SwapInvolved>\n </transactionCoding>\n <transactionTimeliness>\n <value></value>\n
为什么?
另外,由于我提取的文件是xml,我想通过ElementTree解析它,但是我收到错误。
e = xml.etree.ElementTree.parse(data).getroot()
OSError:[Errno 36]文件名太长:
最后,我想要链接中的xml并解析它。我做错了。
答案 0 :(得分:0)
您的第一个问题是,您需要转义'\n'
中的string.replace()
,因为您的字符串包含\
和n
的文字序列。您的代码正在寻找换行,但您的数据包含换行符的字符串表示。
请改为:data2 = data.replace(r"\n","")
你的第二个问题是xml.etree.ElementTree.parse()
期待文件名,而不是字符串。请改用xml.etree.ElementTree.fromstring()
。