Member 12702368 Ответов: 2

Что плохого, когда я использую функцию parser.parsefromstring(xml. responsetext, "text/XML")?


Я пытаюсь читать xml-файлы, но у меня есть проблема ... мой код :

<script >
    function myFunction(xml) {
          var i;
          var parser, xmlDoc;
          parser = new DOMParser();
          xmlDoc = parser.parseFromString(xml.responseText,"text/xml");
          alert(xmlDoc);
           var x = xmlDoc.getElementsByTagName("book");
           alert(x.length);
           alert(x.parentNode.nodeName);  
        }
 function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
          myFunction(this);
      };
      xhttp.open("GET", "books.xml", true);
      xmlHttp.onreadystatechange = handleServerResponse;
      xhttp.send();
    }

</script>

моя проблема в том, когда я бегу тогда

alert (xmlDoc); / / print [object xmldoucument]
alert (x. length); / / print 0
почему alert (x. length); print zero ? что случилось ? Я хочу получить название книги ... но x. length равен нулю ... мой xml-файл :

<bookstore>
   <book category="cooking">
       <title lang="en">Everyday Italian</title>
       <author>Giada De Laurentiis</author>
       <year>2005</year>
       <price>30.00</price> </book>
   <book category="children">
       <title lang="en">Harry Potter</title>
       <author>J K. Rowling</author>
       <year>2005</year>
       <price>29.99</price> </book>
   <book category="web">
       <title lang="en">XQuery Kick Start</title>
       <author>James McGovern</author>
       <author>Per Bothner</author>
       <author>Kurt Cagle</author>
       <author>James Linn</author>
       <author>Vaidyanathan Nagarajan</author>
       <year>2003</year>
       <price>49.99</price> </book>
   <book category="web" cover="paperback">
       <title lang="en">Learning XML</title>
       <author>Erik T. Ray</author>
       <year>2003</year>
       <price>39.95</price> </book>
</bookstore>

и я положил свой xml файл в свой проект здесь здесь я положил этот файл под WEB_INF папка

так что какая-нибудь помощь, плз ?

Что я уже пробовал:

мой код выше, так что любая помощь плз ?

2 Ответов

Рейтинг:
2

Suvendu Shekhar Giri

Если вы хотите проверить, сколько там книг, вы можете сделать что-то вроде следующего-

var bookXML = new XML(xmlDoc)
var books = bookXML['book'];
var length = books.length();


Примечание: Я не очень много работал над XML-суффиксами, поэтому могут быть некоторые синтаксические ошибки.
Пожалуйста, дайте мне знать, если это не сработает.
:)


Member 12702368

это не сработало @Suvendu Shekhar Giri

Рейтинг:
2

Member 12702368

Я решил проблему ... Я использую xmlhttp вместо xhttp и это работает