🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #8379

Re: xml et delphi

#8379
From: Christophe Bellangeon
Date: Tue, 23 Oct 2001 16:11
74 lines
3758 bytes
Pour le XML j'utilise plut�t:

    VAR
        monDocumentXML : IXMLDOMDocument2;            // le fichier ou
document XML

    BEGIN
        monDocumentXML  :=  coDOMDocument.Create;    // cr�ation de la
coClasse
        monDocumentXML.loadXML(chemin_fichier);            // chargement du
fichier XML en m�moire


        Il y a plusieurs mani�re de cr�er un fichier:
        1- tu pars d'un document XLM existant que tu modifie ensuite
        monDocumentXML.load(chemin_fichier_existant);

        2- idem mais � partir d'une String
        monDocumentXML.loadXML(ma_chaine);
        ou par exemple
        ma_chaine  vaut '<?xml version="1.0"
encoding="ISO-8859-1"?><racine><mon_element mon_attribut="valeur">Mon
Texte</mon_element></racine>'

        3- tu fabriques tout. C'est lourd.
        Il faut cr�er et ins�er la processing instruction (<?xml>), lui et
ins�rer des attributs (vesion, encoding) puis cr�er et ins�rer la racine. Et
ainsi de suite pour les autres �l�ments.

        Pour �diter ou s�lectionner des �lements utilise les types
        IXMLDOMNode (un noeud)
        IXMLDomNodeList (liste de noeuds)
        IXMLDOMElement
        IXMLDOMAttribut

        Le principe de focntionnement est tr�s proche d'un TreeView.

        Un exemple:
        currentNode := xmlDOCNew.documentElement;                        //
s�lection de la racine !
        newNode := xmlDOCNew.createNode(NODE_ELEMENT, 'mon_element', '');
        currentNode.insertBefore(newNode, Null);
        currentNode := currentNode.selectSingleNode('//mon_element');
// la s�lection suit les r�gles du XPath (ici l'exemple est assez brutal)
        CurrentNode.text := 'Mon Texte';

        L'exemple s�lection la racine, cr�er pour ce document un nouvel
�lement (mais l'�l�ment n'est pas encore ins�rer !),
         insere l'�l�ment juste apr�s la racine, le selectionne et mais sa
valeur � "Mon Texte"
        Autrement dit je mets <mon_element>Mon Texte</mon_element> juste
apr�s la racine.



"iceman" <f.heitzmann@acamaya.com> a �crit dans le message news:
9r42ul$1e0$1@s1.read.news.oleane.net...
| Bonjour
|
| J'essaie d'utiliser le composant MSXML3.0 avec DElphi mais j'ai un peu du
| mal � m'y retrouver entre l'API du composant, l'API de l'encapsulage par
| Delphi. En particulier, qu'est-ce que les types TDOMDocument et
| CoDOMDocument ? une diff�rence ?
|
| Est-ce que vous pourriez juste m'�crire les quelques lignes qui permettent
| de cr�er un objet DOM, de charger un document XML dans cette objet, et de
| r�cup�rer une valeur ou deux.
| Ca devrait suffir pour me mettre sur la voie.
|
| Merci.
|
| Fred
|
|
Technical Details
Message-ID: <9r44g5$scr$1@reader1.imaginet.fr>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!fr.clara.net!heighliner.fr.clara.net!fr.colt.net!writer!not-for-mail
References: <9r42ul$1e0$1@s1.read.news.oleane.net>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,a5de39253b07e958
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-10-23 09:13:08 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!fr.clara.net!heighliner.fr.clara.net!fr.colt.net!writer!not-for-mail
From: "Christophe Bellangeon" <c.bellangeon@bouygues-construction.com>
Newsgroups: fr.comp.text.xml
Subject: Re: xml et delphi
Date: Tue, 23 Oct 2001 18:11:57 +0200
Organization: ImagiNET / Colt Internet
Lines: 76
Message-ID: <9r44g5$scr$1@reader1.imaginet.fr>
References: <9r42ul$1e0$1@s1.read.news.oleane.net>
NNTP-Posting-Host: bouygues.bouygues.fr
X-Trace: reader1.imaginet.fr 1003853125 29083 193.57.109.2 (23 Oct 2001 16:05:25 GMT)
X-Complaints-To: abuse@imaginet.fr
NNTP-Posting-Date: 23 Oct 2001 16:05:25 GMT
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200