使用javascript

时间:2017-05-30 19:02:27

标签: javascript xml

我已经找到了很多这个问题的工作示例,但没有人在我的案例中工作。我将从服务器获得以下响应,并需要在“消息”标签之间获取值。

<?xml version="1.0" encoding="utf-8"?>
<BaseResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns="http://tempuri.org/">
<Message>uYnxLHnBJPtBp9K8GNg```F4v5YPP4HIgOxN@@@DjwPIUpA=p</Message>
<Status>true</Status>
<Code>200</Code>
</BaseResponse>

如果有人能帮我解决,我们将不胜感激。

P.S: - 作为参考,我尝试使用http://jsfiddle.net/RPbSE/,但没有成功

2 个答案:

答案 0 :(得分:1)

根据您的示例,您所要做的就是使用dom解析器获取消息标记的内部html

var text, parser, xmlDoc;

text = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<BaseResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.org/\">" +
"<Message>uYnxLHnBJPtBp9K8GNg```F4v5YPP4HIgOxN@@@DjwPIUpA=p</Message>" +
"<Status>true</Status>" + 
"<Code>200</Code>" +
"</BaseResponse>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");


alert(xmlDoc.getElementsByTagName("Message")[0].innerHTML );

这是一个适合你的小提琴:https://jsfiddle.net/zeq5g47t/

答案 1 :(得分:0)

您可以尝试DOMParser api

var parser = new DOMParser();
var doc = parser.parseFromString(`<?xml version="1.0" encoding="utf-8"?>
<BaseResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns="http://tempuri.org/">
<Message>uYnxLHnBJPtBp9K8GNgF4v5YPP4HIgOxN@@@DjwPIUpA=p</Message>
<Status>true</Status>
<Code>200</Code>
</BaseResponse>`,"application/xml");
doc.querySelector("Message").innerHTML