如何在 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"。这可能是问题所在吗?看起来"节"不是字符串。
相关文章:
- 在控制器中按ID获取XML ViewElement(MultiInput)
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 使用 AJAX 获取 XML,然后将其解析为 JSON(无需服务器)
- 如何在JQUERY中从HTML文档中获取XML对象
- 获取xml节点文本
- XML到JSON代理服务器未获取XML提要
- 无法获取XML中的节点值,如何获取
- 在 javascript 中获取 xml 标记名称
- 在javascript中获取xml dom子元素
- 如何在WCF服务中获取Xml作为字符串并使用JavaScript发送
- 无法使用 jquery 获取 xml 属性的值
- 无法使用 jquery 获取 xml 元素文本值
- Angularjs - 使用 $http 获取 xml 响应而不是 json
- 如何使用 JS AJAX 获取 XML 标记的名称
- 获取 XML 节点并将其存储在变量中
- 使用 JavaScript 获取 XML 数据
- 如何获取 xml 控件属性
- 如何在IE8中获取XML节点的文本值
- 如何使用 Jquery 获取 XML 文件,并在每次加载时以随机顺序显示元素一次
- 如何在 JavaScript 中获取 XML 命名空间