我必须从服务器检索XML数据。我使用Fetch是因为我需要一种异步/等待兼容的方式来发出HTTP请求。
但是,通过fetch检索数据时使用resp.text()会导致它转义所有引号和换行符。
结果如下所示:
<?xml version="1.0" encoding="UTF-8"?><data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value var_id="v04" xsi:type="ELEMENT">hello</value>
</data>
实际上是这样的:
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><data xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <value var_id=\"v04\" xsi:type=\"ELEMENT\">hello</value>\n</data>\n"
无论如何,我可以防止这种情况并接收原始XML吗?另外,还是将其解析回其原始形式?谢谢。
答案 0 :(得分:2)
在节点提取中执行.text
确实可以做到:
return consumeBody.call(this).then(buffer => buffer.toString());
这实际上是.text的源代码
这只是一个节点Buffer#toString()
-不会以一种或另一种方式转义。
Node.js会在打印字符串之前对字符串进行转义,因此您可以使用它们并复制粘贴它们。
请放心-这只是一个UI可见性功能-并非实际的文本转义更改:)