如何将解析后的 xml 保存为 txt?

How can I save parsed xml as txt?

我已经解析 XML 列表,我想将其保存为 txt 文件。

但是出现错误..

如何将它保存到 txt..?

我是python的初学者,所以我不知道该怎么做。

我的xmlurl是https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3

我想解析 street_panorama id。

import os
import urllib.request as urllib from xml.dom
import minidom
with open ('list.txt','w') as f:
    f.write('C:/Users/JYLEE/Desktop/python/exercise')
    url = 'https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3' 
    dom = minidom.parse(urllib.urlopen(url))
    link = dom.getElementsByTagName('street_panorama')
    categories = [items.attributes['id'].value for items in link if items.attributes['id']]
    f.write(categories)

错误信息是TypeError: write() argument must be str, not list

我不知道接下来要做什么...

正如消息所说,它需要传递一个字符串。您可以简单地执行 write(str(categories)) 以获得类似于 ['a', 'b', 'c'][1, 2, 3] 的表示。如果您希望每一个都在一个新行或某种特定格式上,请循环 categories 并逐项写入文件。

您可以使用 str() 方法将列表 (categories) 转换为字符串格式。

此外,每当您尝试 readwrite 文件时,请尝试使用 with 语句。如果你几乎没有使用 readwrite 命令,你应该在使用后使用 f.close() 命令关闭文件。

如果您使用 with 命令,这会自动处理。

这是您修改后的代码,供您参考

import os
import urllib.request as urllib 
from xml.dom import minidom
with open("list1.txt",'w') as f:
    f.write('C:/Users/JYLEE/Desktop/python/exercise')

url = 'https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3' 
dom = minidom.parse(urllib.urlopen(url))
link = dom.getElementsByTagName('street_panorama')
categories = [items.attributes['id'].value for items in link if items.attributes['id']]
with open("list1.txt",'w') as f:
    f.write(str(categories))