Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [JS] XML-Parser-Klasse, wie realisieren?

  Alt 23. Aug 2008, 20:02
Also JS ist nichts für mich. *g* Was mache ich denn hier falsch:

Der Versuch, das ganze halbwegs in eine Klasse zu packen:

Code:
function XMLParser()
{
   var _xmlDoc = null;

   this.loadXMLDoc = function (XMLFile)
   {
      try //Internet Explorer
      {
         _xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      }
      catch(e)
      {
         try //Firefox, Mozilla, Opera, etc.
         {
            _xmlDoc = document.implementation.createDocument('','',null);
         }
         catch(e) { alert(e.message) }
      }
      
      try
      {
         _xmlDoc.async = false;
         _xmlDoc.load(XMLFile);
      }
      catch(e) { alert(e.message) }
   }
   
   this.getNodes = function (Node)
   {
      return _xmlDoc.getElementsByTagName(Node);
   }

   this.getChildValue = function (Node, Child)
   {
      return Node.getElementsByTagName(Child);
   }
}
Das Hintergrundwissen habe ich hierher: loadXMLDoc(), Node-Funktionen.

Mein Aufruf ist dieser:

Code:
var my_xml = new XMLParser();
my_xml.loadXMLDoc('http://localhost/books.xml');
   
xml_nodes = my_xml.getNodes('book');

for (i = 0; i < xml_nodes.length; i++)
{
   title = my_xml.getChildValue(xml_nodes[i], 'title');
   author = my_xml.getChildValue(xml_nodes[i], 'author');
   alert(title + ' ' + author);
}
Die XML-Datei.
xml_nodes.length ist jedoch immer 0.
  Mit Zitat antworten Zitat