【问题标题】:how to read string from xml response body in javascript如何从javascript中的xml响应正文中读取字符串
【发布时间】:2020-04-29 07:58:49
【问题描述】:

我正在尝试从 javascript 变量中的 xml 响应正文中读取令牌值 到目前为止我试过了

if (response.getStatusCode() != 200) {
api.fail("HTTP error: " + response.getStatusCode()); }
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName('string');

xml response ENTC~OTKtfKDRu7DIOj0buMfv+PdYDC62yS5GdRHeMO8H+/9UaUs8b2rpN67ONWO3XMkI96zV7x3jVQbeJNovp9Mhh4FbqXsqH2YB/MO/i8y7gJp2GG0QxczIC2oSosSSCAWK

【问题讨论】:

  • 什么不起作用?你有错误吗?从您发布的代码中,您永远不会声明 xmlDoc。也许 var x = xmlDoc.getElementsByTagName('string');应该是 var x = xmlresponseBody.getElementsByTagName('string');?
  • 从 xmlresponse 更改为 xmlDoc

标签: javascript json xml xml-parsing dynatrace


【解决方案1】:

要在JS中读取,你需要使用DOMParser API。下面是一个例子:

const text = "<string>This is my xml</string>"; //API response in XML
const parser = new DOMParser();
const xmlDOM = parser.parseFromString(text,"text/xml");
const value = xmlDOM.getElementsByTagName("string")[0].childNodes[0].nodeValue;
console.log(value)

编辑:使用fetch() API 的示例

fetch('Your_API_URL')
.then(response=>response.text())
.then(data=>{
    const parser = new DOMParser();
    const xmlDOM = parser.parseFromString(data,"text/xml");
    const value = xmlDOM.getElementsByTagName("string")[0].childNodes[0].nodeValue;
    console.log(value)
})
.catch(err=>console.log(err))

【讨论】:

  • 如何读取代码中的 xml 响应,我想读取第一个节点值
  • 我想你已经在阅读你的代码了。 var xmlDoc = xml.responseXML;; //与上面代码中的“文本”变量相同。
  • 我正在发出一个 Http GET 请求,它给了我一个 xml 响应
  • 从 HTTP GET 获得响应后。发布成功的回调/承诺/异步等待,可以从响应中提取字符串。
  • 你能帮我解决一下@Pramod Mali 吗?
猜你喜欢
  • 2020-01-03
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
  • 2017-03-22
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多