2009-02-05 7 views

Odpowiedz

6

To zależy od wielkości dokumentu xml. Ale mam dobre doświadczenia zarówno z MSXML, jak i jego odpowiednikiem w Saksonii.

Jeśli xml jest duży (> 50 MB) lub zapytania są ciężkie (użyj jakiegoś //, aby system przeszukiwał), należy się spodziewać pewnego czasu opóźnienia. Ale w innym przypadku jest to całkowicie wykonalne.

W późniejszych wersjach msxml jest dostępny jako jednostka. W wersji 7 należy zainstalować bibliotekę typów:

  • typ biblioteki idź do projektu \ importu
  • Wybierz Microsoft XML (najwyższa wersja można znaleźć)
  • wybierz Utwórz moduł do tworzenia MSXML_TLB

można użyć MSXML_TLB czytać dokumentów XML, XSLT i używać wykonywanie zapytań XPath:

var 
    doc : IXMLDomDocument2; 
    list : IXMLDomNodeList; 
    node : IXMLDomNode; 
    i : Integer; 

begin 
    doc := CoDOMDocument.Create; 
    doc.load(xmlfilename); 

    list := doc.selectNodes(xpath); 
    for i := 0 to list.length-1 do begin 
    node := list.item[i]; 
    if node<>nil then 
     Memo1.Lines.Add(node.nodeName); 
    end; 
end; 
+0

Dzięki za odpowiedź ... Jak mogę "zainstalować" MSXML w Delphi? –

+0

Dodałem przykład w odpowiedzi. Mam nadzieję, że to działa. –

1

kiedy h ave radzić sobie z plikami XML w Delphi Zawsze używam OmniXML, składnika, którego używam od lat. Jestem z niego całkowicie zadowolony, głównie dlatego, że jest lekki, łatwy w użyciu i za darmo.

Działa również z XPath w łatwy sposób. Warto spróbować, mam nadzieję, że ci to pomoże.