Delphi - Az IXMLNode interfész

IXMLNode 3. rész

forráskód letöltése
A harmadik részben folytatjuk az IXMLNode interfész metódusainak ismertetését. A mellékelt példában megnyitunk egy HTML fájlt, ami képeket is tartalmaz. A képek elérési útvonalát kiolvassuk a dokumentumból, és egy WebBrowser komponensben megjelenítjük. A HTML dokumentum feldolgozását az XmlDocument komponens, ezen belül pedig természetesen az IXMLNode interfész segítségével végezzük el.
GetNodeType
Osztály: IXMLNode
function GetNodeType: TNodeType;
A NodeType property read metódusa.
Visszatérési érték
A csomópont típusa:
Érték Jelentés
ntReserved nem használt
ntElement A csomópont egy olyan egyszerű elem, amely gyermek csomópontokat tartalmaz. A gyermek elemek típusai a következők lehetnek: ntElement, ntText, ntCData, ntEntityRef, ntProcessingInstr, és ntComment. Az csomópontnak lehetnek attribútumai is (ntAttribute). A csomópont a következő típusú csomópontoknak lehet a gyermek leme: ntDocument, ntDocFragment, ntEntityRef, és ntElement.
ntAttribute A csomópont egy elem attribútumát tartalmazza. Ez nem gyermeke egy másik csomópontnak, az értéke az Attributes property-vel kérdezhető le. Az ilyen típusú csomópontoknak lehet gyermek eleme az ntText vagy ntEntityRef típusú csomópont.
ntText Egyszerű szöveg, ami nem tartalmazhat gyermek elemeket, viszont az a következő csomópont típusoknak lehet a gyermek csomópontja: ntAttribute, ntDocFragment, ntElement, vagy ntEntityRef.
ntCData A csomópont egy CDATA szakaszt reprezentál az XML forráskódban, és tagolt, formázott szöveget tartalmazhat. Nem lehet gyermek eleme, viszont a következő típusoknak lehet gyermeke: ntDocFragment, ntEntityRef, vagy ntElement.
ntEntityRef A csomópont többféle hivatkozást tartalmazhat egy másik egyedre.
A következő típusok lehetnek a gyermekei: ntElement, ntProcessingInstr, ntComment, ntText, ntCData, és ntEntityRef. A következő típusoknak lehet gyermeke: ntAttribute, ntDocFragment, ntElement, vagy ntEntityRef.
ntEntity A csomópont egy kiterjesztett egyed elemet reprezentál. Gyermekei szintén kiterjesztett egyedek lehetnek, például ntText vagy ntEntityRef csomópontok. Csak az ntDocType típusú csomópontnak lehet a gyermeke.
ntProcessingInstr A csomópont egy feldolgozási instrukciót tartalmaz (PI – Processing Instruction). Ennek az elemnek nem lehetnek gyermek elemei, viszont gyermeke lehet az ntDocument, ntDocFragment, ntElement, vagy ntEntityRef típusú elemeknek.
ntComment A csomópont egy megjegyzést tartalmaz az XML dokumentumban. Nem lehetnek gyermek elemei, viszont az következő elemeknek lehet a gyermeke: ntDocument, ntDocFragment, ntElement, és ntEntityRef.
ntDocument A csomópont a dokumentum gyökér eleme. Egyetlen ntElement típusú gyermek eleme lehet (DocumentElement). Ezen kívül az alábbi elemek lehetnek még a gyermek elemei: ntProcessingInstr, ntComment, és ntDocType. Mivel ez a gyökér elem, így ennek nem lehet szülő eleme.
ntDocType A csomópont a dokumentum típusát adja meg (<!DOCTYPE > elem). Lehet gyermek eleme az ntNotation és ntEntity típusú csomópont. Mindig a DocumentElemet gyermek eleme.
ntDocFragment Egy egyszerű csomópont vagy csoport, amelyet a dokumentum ténylegesen nem tartalmaz. Gyermek elemei lehetnek a ntElement, ntProcessingInstr, ntComment, ntText, ntCData, és ntEntityRef csomópontok. Soha nincs szülő eleme.
ntNotation A csomópont egy jelölésrendszert határoz meg a dokumentum típus deklarációban. Mindig az ntDocType csomópont gyermek eleme, és nem lehetnek gyermek elemei.
GetNodeValue
Osztály: IXMLNode
function GetNodeValue: OleVariant;
A NodeValue property read metódusa.
Visszatérési érték
A csomópont értékét adja vissza
GetOwnerDocument
Osztály: IXMLNode
function GetOwnerDocument: IXMLDocument;
Az OwnerDocument property read metódusa.
Visszatérési érték
Az XML dokumentum IXMLDocument interfészének objektumáat adja vissza.
GetParentNode
Osztály: IXMLNode
function GetParentNode: IXMLNode;
A ParentNode property read metódusa.
Visszatérési érték
A szülő csomópont IXMLNode objektumát adja vissza.
GetPrefix
Osztály: IXMLNode
function GetPrefix: DOMString;
A Prefix property read metódusa.
Visszatérési érték
A csomópont névtér előtagját adja vissza, ha ez meg van adva (lásd Prefix property).
GetReadOnly
Osztály: IXMLNode
function GetReadOnly: Boolean;
A ReadOnly property read metódusa.
Visszatérési érték
A visszatérési érték igaz, ha a csomópont adatai nem módosíthatók, és hamis, ha igen.
GetText
Osztály: IXMLNode
function GetText: DOMString;
A Text property read metódusa.
Visszatérési érték
A csomópont szövegét adja vissza.
HasAttribute
Osztály: IXMLNode
function HasAttribute(
const Name: DOMString
): Boolean; overload;
A függvény leellenrőzi, hogy a paraméterek által meghatározott attribútum létezik-e a csomópontban. A függvénynek két változata is van:
function HasAttribute(const Name: DOMString): Boolean; overload;
function HasAttribute(const Name, NamespaceURI: DOMString): Boolean; overload;
Paraméterek
const Name: DOMString
Az attribútum neve.
NamespaceURI: DOMString
Az attribútum névtér előtagja.
Visszatérési érték
Igaz, ha a megadott attribútum létezik, és hamis, ha nem.
NextSibling
Osztály: IXMLNode
function NextSibling: IXMLNode;
A csomópont következő testvér csomópontjának IXMLNode objektumát adja vissza. Ha az aktuális csomópont az utolsó, akkor kivétel keletkezik.
Visszatérési érték
A testvér elem IXMLNode típusú objektuma.
Normalize
Osztály: IXMLNode
procedure Normalize;
A Normalize eljárás összevonja a szomszédos csomópontokat és törli az üres szöveges csomópontokat, amelyek az aktuáőlis csomópont alatt találhatók. Az eljárás garantálja, hogy a gyermek csomópontok, és az attribútumok csak ún. szerkezet csomópontokból fognak állni, szöveg tartalmaú csomópontokkal elválasztva, nem lesz közöttük egyetlen üres, szöveges tartalmú csomópont sem.
PreviousSibling
Osztály: IXMLNode
function PreviousSibling: IXMLNode;
A csomópont előző testvér csomópontjának objektumát adja vissza. Ha az aktuális csomópont az első az adott szinten, akkor kivétel keletkezik.
Visszatérési érték
Az előző testvér csomópont IXMLNode típusú objektuma.
Resync
Osztály: IXMLNode
procedure Resync;
Az objektum alapját képező DOM interfészből beolvassa a csomópont és az attribútumok adatait. Azok a változtatások, amelyek még nem lettek rögzítve, elvesznek.
SetAttribute
Osztály: IXMLNode
procecure SetAttribute(
const AttrName: DOMString,
const Value:OleVariant
);
A megadott attribútum értékének megadására szolgáló eljárás.
Paraméterek
const AttrName: DOMString
Az attribútum neve. Ha az attribútum már létezett, akkor a létező attribútum értékét változtatja meg, ellenkező esetben létrehozza az új attribútumot.
const Value:OleVariant
Az attribútum értéke. Ezt általában sztringként adjuk meg. Ha nil-t adunk meg (Null), akkor az az attribútum törlését jelenti.
SetAttributeNS
Osztály: IXMLNode
procecure SetAttributeNS(
const AttrName,
NamespaceURI: DOMString,
const Value:OleVariant
);
Az eljárás a SetAttribute eljárástól annyiban különbözik, hogy itt nem csak az attribútum nevét, hanem a névtér URI azonosítóját is meg kell adni.
Paraméterek
const AttrName,
Az attribútum neve. Ha az attribútum még nem létezett, akkor létrehozza.
NamespaceURI: DOMString,
Az attribútum névterének URI azonosítója.
const Value:OleVariant
Az attribútum új értéke. Általában sztringként adjuk meg. Ha nil-t adunk meg (Null), akkor az az attribútum törlését jelenti.
SetChildValue
Osztály: IXMLNode
procedure SetChildValue(
const IndexOrName: OleVariant;
const Value: OleVariant
);
Az eljárás a ChildValue property write metódusa. Egy gyermek csomópont értékét adhatjuk meg ezzel az eljárással.
Paraméterek
const IndexOrName: OleVariant
A gyermek csomópont interfész objektuma, vagy neve.
const Value: OleVariant
A csomópont új értéke.
SetNodeValue
Osztály: IXMLNode
procedure SetNodeValue(
const Value: OleVariant
);
Az eljárás a NodeValue property write metódusa. A csomópont értékét adja meg.
Paraméterek
const Value: OleVariant
A csomópont új értéke.
SetReadOnly
Osztály: IXMLNode
procedure SetReadOnly(
const Value: Boolean
);
A ReadOnly property write metódusa.
Paraméterek
const Value: Boolean
Ha a paraméter értéke igaz, akkor a csomópont objektuma csak olvasható lesz, módosítások nem végezhetők benne. Ha a paraméter értéke hamis, akkor a csomópont módosítható lesz.
SetText
Osztály: IXMLNode
function SetText(
const Value: DOMString
);
A Text property write metódusa.
Paraméterek
const Value: DOMString
A csomópont új szöveges értéke.

IXMLNode cikksorozat