
[英]how to get all attributes of node in certain namespace xml javascript
[英]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.