我已经找到了很多这个问题的工作示例,但没有人在我的案例中工作。我将从服务器获得以下响应,并需要在“消息”标签之间获取值。
<?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/,但没有成功
答案 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