0

我在 javascript 中成功解析了一个 xml 文档,通过 XMLHttpRequest 读取它,我现在想获取一条额外的信息。我正在阅读的提要包含此标签 <opensearch:totalResults>118</opensearch:totalResults> 如何读取它包含的值?

我使用 Firefox 的控制台检查了 xml 文档的内容,但徒劳地寻找它提到的地方。在线搜索也无济于事。

虽然不是很相关,但我的代码的核心是:

    var process = function (xml) {
    var i, xmlDoc, table;
    xmlDoc = xml.responseXML;
    globXmlDoc = xmlDoc;
    var myItemAsAnObject = [];
    if (xmlDoc === null){
    feedLength = 0;
    } else {
    feedLength = xmlDoc.getElementsByTagName("item").length;
    if (feedLength == 0) { return false; }
    var x = xmlDoc.getElementsByTagName("item");

XML 是

<rss version="2.0">
<channel>
<title>victoriana: Zazzle.com Store: Matching "victoriana"</title>
<link>http://feed.zazzle.com/z.2/api/find.aspx?qs=victoriana&ft=rss&ou=%2Frss%3Fqs%3Dvictoriana</link>
<description/>
<language>en-us</language>
<pubDate>Thu, 04 Jul 2019 17:26:55 GMT</pubDate>
<ttl>60</ttl>
<opensearch:totalResults>118</opensearch:totalResults>
<opensearch:startIndex>1</opensearch:startIndex>
<opensearch:itemsPerPage>60</opensearch:itemsPerPage>
<opensearch:Query role="request" searchTerms="victoriana"/>
<item>
:
:
:

整个 xml 文档的链接是: rss feed

请注意,globxmlDoc 是一个全局变量,只是为了让我在控制台中查看它。

我真的不知道从哪里开始......

4

1 回答 1

1

打开这个 HTML 文档,你会得到 118 (Tested using Chrome)

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var parser, xmlDoc;
var text = "<bookstore><book>" +
"<title>Everyday 111</title>" +
"<author>Giada De Laurentiis</author>" +
"<opensearch:totalResults>118</opensearch:totalResults>" + 
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("opensearch:totalResults")[0].childNodes[0].nodeValue;
</script>

</body>
</html>
于 2019-07-04T19:58:18.557 回答