解析 XML 命名空间?

2022-01-14 00:00:00 xml namespaces javascript ajax

使用 JavaScript/Ajax?

Using JavaScript/Ajax?

我正在尝试从以下位置提取值:

I'm trying to extract values from:

<yweather:astronomy sunrise="6:34 am"   sunset="8:38 pm"/>

寻找类似的东西:

var response = transport.responseXML.getElementsByTagName("channel");
sunrise = response[0].getElementsByTagName("yweather:astronomy").item(0).Attributes["sunrise"].Value;

但到目前为止没有任何效果.:'(谢谢.

But nothing works so far. :'( Thanks.

推荐答案

有一个特殊版本的 getElementsByTagName 用于命名空间:getElementsByTagNameNS.

There is a special version of getElementsByTagName for namespaces: getElementsByTagNameNS.

例如:

var response = transport.responseXML.getElementsByTagName("channel");
var sunrise = response[0].getElementsByTagNameNS("[Namespace URI]", "astronomy")[0].getAttribute("sunrise");

...其中 [Namespace URI]yweather 命名空间的 URI.

...where [Namespace URI] is the URI of the yweather namespace.

史蒂夫

相关文章