Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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,BeautifulSoup:程序无法识别输出XML?_Python_Xml_Beautifulsoup_Arcgis - Fatal编程技术网

Python,BeautifulSoup:程序无法识别输出XML?

Python,BeautifulSoup:程序无法识别输出XML?,python,xml,beautifulsoup,arcgis,Python,Xml,Beautifulsoup,Arcgis,我在使用BeautifulSoup编辑XML时遇到了一些奇怪的问题。读入XML文件并进行所有编辑后,我使用 output = open("output.xml", "r") output.write(str(soup)) output.close 然而,需要读入这个XML文件的程序甚至不能识别它的存在——它应该自动加载XML。对于任何参考,这是ArcGis。我可以打开原始XML和Python生成的XML,并验证它们至少在视觉上是完全相同的 另一个奇怪的行为是,如果我打开原始XML文件,用文本编

我在使用BeautifulSoup编辑XML时遇到了一些奇怪的问题。读入XML文件并进行所有编辑后,我使用

output = open("output.xml", "r")
output.write(str(soup))
output.close
然而,需要读入这个XML文件的程序甚至不能识别它的存在——它应该自动加载XML。对于任何参考,这是ArcGis。我可以打开原始XML和Python生成的XML,并验证它们至少在视觉上是完全相同的

另一个奇怪的行为是,如果我打开原始XML文件,用文本编辑器对其进行编辑并保存,程序就不会出错,并且加载正确。如果我使用Python进行编辑,但不使用BeautifulSoup,即字符串操作,它也可以正常工作。似乎是使用BeautifulSoup写入输出字符串导致了问题


这是某种编码问题吗?从BeautifulSoup对象获取的字符串与直接从文件读取的普通字符串有什么区别?

如果程序说该文件不存在,可能会将其保存在错误的位置。在显示的代码中,您不会关闭该文件。实际上,您必须调用close方法,而不是只引用它,而不使用它。除非它被关闭,否则它可能不会被完全写入磁盘,并且可能其他程序在识别文件上的“关闭事件”之前不会读取它。哦,打开一个文件进行读取,然后尝试写入,会导致运行时错误。此外,我会以二进制模式打开文件。很抱歉,这不是直接复制和粘贴,我会正确关闭文件,并且不会同时读/写一个文件,它们是不同的文件。此外,文件也会写入正确的目录。我可以执行完全相同的操作,而无需使用BeautifulSoup,并且一切正常,如果我使用它,则无法识别文件。正如我前面提到的,我可以打开输入和输出XML,并验证它们是否相同。请给出一个简单的示例,用BeautifulSoup读取和写入XML文件?您使用的是哪个版本,如何确保HTML刮板不会将数据视为HTML而不是XML?答案取决于BeautifulSoup版本。编写的XML是否有可能在开头/结尾包含额外的标记,如和?