【发布时间】:2016-05-30 01:18:13
【问题描述】:
我的xml 是
<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"}
我尝试使用
获取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]
【问题讨论】:
-
我能够使用 getAttribute 获取命名空间:
document.querySelector('test').getAttribute('xmlns')显示“google:mobile:data” -
您使用的是什么 XML 模块?你是如何阅读文件的?向我们展示不起作用的代码。
-
我正在与
xmpp合作。输出来自stanza,我需要解析它 -
向我们展示无效的代码。
-
抱歉耽搁了……@Quentin
标签: javascript xml namespaces