Python 如何从url解析xml
通常,我要做的是从url解析xml。这就是我所做的:Python 如何从url解析xml,python,xml,xml-parsing,Python,Xml,Xml Parsing,通常,我要做的是从url解析xml。这就是我所做的: 我在html文件中编写xml代码,该文件附在标记上: 但我有一个错误: File "<string>", line unknown ParseError: XML or text declaration not at start of entity: line 2, column 0 及 但是,两种方法都会产生相同的错误: File "<string>", l
File "<string>", line unknown ParseError: XML or text declaration not at start of entity: line 2, column 0
及
但是,两种方法都会产生相同的错误:
File "<string>", line unknown ParseError: XML or text declaration not at start of entity: line 2, column 0
文件“”,第行未知语法错误:XML或文本声明不在实体的开头:第2行,第0列
c。如果没有,如何解决此错误?这可能是因为您在文档开头缺少此原因 XML声明
<?xml version="1.0"?>
只能出现一次,并且只能出现在XML文档的最顶端
显然
<textarea rows="1000" cols="200" style="border:none;">
在此之前,它违反了这一要求
补救措施
- 因为您只指定XML为1.0版,而且这是默认版本,所以只需删除XML声明,或者
- 删除XML声明之前的所有内容
HTML中有保存XML文档的
。下面的代码指向XML文档并对其进行解析
import requests
import xml.etree.ElementTree as ET
r = requests.get('https://imanparyudi.000webhostapp.com/gambar.html')
if r.status_code == 200:
start = r.text.find('<?xml')
end = r.text.find('</textarea>')
root = ET.fromstring(r.text[start:end])
print(root)
导入请求
将xml.etree.ElementTree作为ET导入
r=请求。获取('https://imanparyudi.000webhostapp.com/gambar.html')
如果r.status_code==200:
start=r.text.find(“你为什么不使用lxml.etree
中的parse
?不要混用API。lxml
扩展了Python的ElementTree API,因此与etree
共享了许多方法。另外,请不要将var\u url
的输出作为屏幕截图发布。让我们看看你想要解析的确切对象。你好@balderman,它很有效。谢谢你非常感谢。但我有一个问题。这是什么:r.status_code==200?状态码是从http服务器返回的http状态码。200意味着OK。在我的例子中,我使用tag在html中发布xml代码。我的问题是:是否可以在不使用tag的情况下在html中发布xml代码?如果可以,我怎么做?只需上传将xml导出到网站,并将浏览器指向该网站
File "<string>", line unknown ParseError: XML or text declaration not at start of entity: line 2, column 0
<?xml version="1.0"?>
<textarea rows="1000" cols="200" style="border:none;">
import requests
import xml.etree.ElementTree as ET
r = requests.get('https://imanparyudi.000webhostapp.com/gambar.html')
if r.status_code == 200:
start = r.text.find('<?xml')
end = r.text.find('</textarea>')
root = ET.fromstring(r.text[start:end])
print(root)