【问题标题】:getElementsByTagName and childnodesgetElementsByTagName 和子节点
【发布时间】:2021-01-14 10:25:46
【问题描述】:

我有下面的 xml 响应,我需要获取 Key 值,但没有成功。 尝试了很多变化,但它没有返回值

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <AuthenticateResponse xmlns="http://domain.something/JobServicesV2.asmx">
            <AuthenticateResult>
                <Result>0</Result>
                <Key>fxcCiBSs2fsdfsDF$=</Key>
            </AuthenticateResult>
        </AuthenticateResponse>
    </soap:Body>
</soap:Envelope>

我的 Javascript 代码是这样的:

function Auth() { 
                var vAnswer ={};
                var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                var vDomain = "http://domain.something/JobServicesV2.asmx/"
                var vAuth = "Authenticate?sUsrName=xxxxx&sUsrPwd=zzzzzzz"
                var vURL = vDomain.concat(vAuth);
                var data = {};
                var xhr = Getxhr();
                xhr.open("GET", vURL, false); 
                xhr.send(data); 
                var resp = xhr.responseText;
                try {
                xmlDoc.async = false;
                xmlDoc.loadXML(resp);
                var vData = xmlDoc.getElementsByTagName("Key")[0].childNodes;
                return vData;                       
                 }
                catch(e) {
                    X.WARNING("Error Message: " + e.message);
                }

vData 始终为空

有什么想法吗?

提前致谢

艾迪

【问题讨论】:

  • 避免使用同步请求。它将停止线程并阻止浏览器在您的请求加载时执行任何 JavaScript。您需要支持旧版浏览器吗?

标签: javascript xml getelementsbytagname


【解决方案1】:

这仅在 IE 中可用。如果您使用 Chrome 或 Firefox,则可以使用 DOMParser。

var parser = new DOMParser();  
doc = parser.parseFromString(resp, 'text/xml');
var vData  = doc.getElementsByTagName("Key")[0].childNodes; 

【讨论】:

    猜你喜欢
    • 2019-03-04
    • 2013-09-20
    • 2012-06-03
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多