Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将xml与字符串隔离时出现问题_Python_Xml_Python 3.x - Fatal编程技术网

Python 将xml与字符串隔离时出现问题

Python 将xml与字符串隔离时出现问题,python,xml,python-3.x,Python,Xml,Python 3.x,在我的python脚本中,我正在努力处理xml文件。我正在使用urllib下载xml文件并将其转换为字符串。接下来,我想解析xml文件 我想删除数据\n,但data2没有删除\n个字符,data2的示例输出如下所示: SwapInvolved>\n\n\n\n 为什么? 另外,由于我提取的文件是xml,我想通过ElementTree来解析它,但我得到了一个错误 e = xml.etree.ElementTree.parse(data).getroot() OSError:[Errno 36]

在我的python脚本中,我正在努力处理xml文件。我正在使用urllib下载xml文件并将其转换为字符串。接下来,我想解析xml文件

我想删除数据\n,但data2没有删除\n个字符,data2的示例输出如下所示:

SwapInvolved>\n\n\n\n

为什么?

另外,由于我提取的文件是xml,我想通过ElementTree来解析它,但我得到了一个错误

e = xml.etree.ElementTree.parse(data).getroot()
OSError:[Errno 36]文件名太长:


最后,我希望从链接中获取xml并对其进行解析。但是我做错了。

您的第一个问题是需要在
字符串中转义
'\n'
。replace()
,因为您的字符串包含
\
n
的文本序列。代码正在查找换行符,但数据包含换行符的字符串表示形式

改为执行此操作:
data2=data.replace(r“\n”和“”)


第二个问题是
xml.etree.ElementTree.parse()
需要的是文件名,而不是字符串。使用
xml.etree.ElementTree.fromstring()

您的第一个问题是需要转义
string.replace()中的
'\n'
,因为您的字符串包含
\
n
的文本序列。代码正在查找换行符,但数据包含换行符的字符串表示形式

改为执行此操作:
data2=data.replace(r“\n”和“”)


第二个问题是
xml.etree.ElementTree.parse()
需要的是文件名,而不是字符串。请改用
xml.etree.ElementTree.fromstring()

谢谢!有了这些信息,我就可以修复它了。干杯!谢谢有了这些信息,我就可以修复它了。干杯!
e = xml.etree.ElementTree.parse(data).getroot()