Announcement

Collapse
No announcement yet.

CB 5 und XML (MS-DOM-Parser)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CB 5 und XML (MS-DOM-Parser)

    Hallo,
    nachdem ich bei der E-Konferenz nun endlich gelernt habe was XML, XSL, DOM und andere Parser sind, wollte ich die in Delphi vorgestellten (dort schnell realisierten) Beispiele mit CB 5 Pro nachvollziehen. Unter anderem die Nachnutzung des OLE-Servers von MS (seid IE 5.0).

    Leider war das bis jetzt eine Katastrophe. Schon der Import der Typbibliothek bring eine Fülle von Fehlermeldungen. In den Borland Newsgroups wurde, wie ich bei einer Suche feststellte, selbiges Problem mindestens 4-5 mal von Leidensgenossen gestellt- alle ohne Antwort !! Einen dort gegebenen Tip habe ich aber befolgt, ich habe die fehlerhaften Codezeilen in der MSML_OCX.h einfach kommentiert. Leider stürzt aber mein Programm trotzdem ab. Was mache ich falsch bzw. hat hier jemand noch Tips ?
    <xmp>
    <br>
    void __fastcall TForm1::Button1Click(TObject *Sender)<br>
    {<br>
    Msxml_tlb::IXMLDOMNode *Node; // Ein Knoten <br>
    Msxml_tlb::IXMLDOMNodeList *List; // Eine Liste von Knoten<br>
    int i, k;<br>
    TOLEBOOL x;<br>
    Msxml_tlb::IXMLDOMNode *Attr; // Ein Knoten (Attribut)<br>
    Doc->async = false; // Synchrones Laden<br>
    x = Doc->load (ExtractFilePath(Application->ExeName)+ "cd-collection.xml"); // XML laden<br>
    List=Doc->documentElement->selectNodes(BSTR("CD/singer"));// Selektiere alle "singer"-Elemente aller "CD"-Elemente (XPath-Ausdruck)<b>Absturz!</b><br>
    for (i=0; i<List->length; i++) // Iteration über Ergebnis-Liste<br>
    {<br>
    Node = List->get_item(i);<br>
    Memo1->Lines->Add (Node->text);<br>
    for (k=0; k<Node->attributes->length;k++)<br>
    {<br>
    Attr = Node->attributes->get_item(k);<br>
    Memo1->Lines->Add (" = " + (AnsiString)Attr->text);<br>
    }<br>
    }<br>
    }<br>
    <br>
    </xmp>
Working...
X