我用axios做到了。发出请求API时如何以XML接收数据?
示例:
axios.get(/* URL */).then(response => {/* How to get data XML? */}).catch(err => {/* result */});
答案 0 :(得分:1)
在您的.then
回调中,response
具有属性data
,它是作为字符串的xml文档。许多人会使用此字符串,并使用内置在浏览器中的解析器对其进行解析,就像在最近的问题中所展示的那样:
Reading local text file as XML
但是我建议使用解析器库,这些库提供了处理XML数据的更有效的方法。我的选择是txml。 您可以像这样将其放入文档中:
<script src="https://unpkg.com/txml@4.0.0/tXml.min.js"></script>
然后,当您像这样解析xml字符串时:
axios.get(/* URL */).then(response => {
const dom = txml.parse(response.data);
}).catch(err => {/* result */});
常量dom是xml节点的数组。每个节点具有属性tagName
,attributes
和children
。 children
还是一个节点数组。
该库具有非常方便的辅助函数,例如“ txml.simplify(dom)”将为您提供一个对象,该对象看起来更像是数据对象。您可以在npm上查看API文档。
免责声明:我是txml的作者。