繁体   English   中英

如何在javascript中获取xml名称空间

[英]how to get xml namespace in javascript

我的xml

<message to="to_test" from="from_test">
    <test xmlns="google:mobile:data">
        {"message":"test_message"}
    </test>
</message>

我通过使用函数getChildText("pcm")获得了值{"message":"test_message"} 但是我试图检索名称空间xmlns值。

我尝试了以下如何获取XML名称空间? 如何在SQL Server的XQuery中获取特定的XML名称空间 ,但没有运气,它表明我is not function error ,我做错了什么?

我忘了提,我目前正在使用node.js。

更新

上面的xml输出是xmpp stanza

在这里,我使用以下内容获取attrs

stanza.attrs.to给我to_test

stanza.attrs.from给了我from_test

stanza.getChildText("test")给我{"message":"test_message"}

我试图使用xmlns

    var parser = new DOMParser();
    var documents = parser.parseFromString(stanza, 'text/xml');
    var response = documents.responseXML.getElementsByTagName("test");
    var sunrise = response[0].getElementsByTagNameNS("[Namespace URI]", "test")[0].getAttribute("xmlns");
    console.log(sunrise);

我在这里

[xmldom error]  element parse error: TypeError: source.indexOf is not a function @#[line:0,col:undefined]

使用标准浏览器的DOM解析器,您可以执行以下操作:

var txt = "<message><test xmlns=\"google:mobile:data\"> {\"message\":\"test_message\"}</test></message>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(txt,"text/xml");
ns = xmlDoc.getElementsByTagName("test")[0].namespaceURI

我已经使用Chrome和IE进行了测试,并且可以正常工作。

我遇到了类似的错误-在我的情况下,这是因为我向“ parseFromString”传递了字符串以外的内容。 这可能是问题吗? 看起来“节”不是字符串。

暂无
暂无

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

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