简体   繁体   English

如何从 javascript 中的 xml 响应正文中读取字符串

[英]how to read string from xml response body in javascript

i am trying to read the token value from xml response body in javascript variable so far i tried到目前为止,我正在尝试从 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 xml 响应ENTC~OTKtfKDRu7DIOj0buMfv+PdYDC62yS5GdRHeMO8H+/9UaUs8b2rpN67ONWO3XMkI96zV7x3jVQbeJNovp9Mhh4FbqXsqH2YB/QJcGG20

Yes, all DOM API functions works good in the XML, but i recommend you to look towards this approach.是的,所有 DOM API 函数在 XML 中运行良好,但我建议您考虑这种方法。 To use this syntax you should use xmldom and xpath libraries;要使用此语法,您应该使用xmldomxpath库;

To read in JS, you need to use DOMParser API.要在 JS 中读取,需要使用DOMParser API。 Following is an example:下面是一个例子:

 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)

Edit: Example using fetch() API编辑:使用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))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM