gpt4 book ai didi

javascript - 如何在javascript中获取xml命名空间

转载 作者:行者123 更新时间:2023-11-30 09:52:52 31 4
gpt4 key购买 nike

我的 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运气不好,它告诉我不是函数错误我做错了什么?

我忘记说了,我目前正着手使用 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 进行了测试,并且可以正常工作。

关于javascript - 如何在javascript中获取xml命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35471899/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com