<message to="to_test" from="from_test">
<test xmlns="google:mobile:data">
{"message":"test_message"}
</test>
</message>
我使用功能getChildText("pcm")
获得的价值{"message":"test_message"}
。但我试图检索命名空间xmlns
值。
我试过以下How to get XML namespace?,How to get specific XML namespace in XQuery in SQL Server没有运气,它表明我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"}
我尝试使用
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]
我能够使用getAttribute获取名称空间:'document.querySelector('test')。getAttribute('xmlns')'shows“google:mobile:data” – lxe
您使用的是什么XML模块?你如何阅读文件?向我们展示不工作的代码。 – Quentin
我正在使用'xmpp'。输出来自'stanza',我需要解析它 – m2j