Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XML Effacer un Node ?

2 réponses
Avatar
TroXsA
Bonjour a tous !!!

Comment faire pour lire ce type de fichier XML ?

- <computerStatus>
<computer computerName="NameComputer1" status="NotApplicable" />
<computer computerName="NameComputer2" status="Unknown" />
<computer computerName="NameComputer3" status="Unknown" />
<computer computerName="NameComputer4" status="NotApplicable" />
<computer computerName="NameComputer5" status="Unknown" />

Je souhaiterais quand il rencontre "NameComputer3" qu'il efface la ligne ...
je pourrais utiliser un StreamReader, je trouve que ne ça fait pas propre !
:)

Merci de votre aide

Cordialement

2 réponses

Avatar
Millox Frédéric
Bonjour,

Essaye ça :

Dim xDoc As Xml.XmlDocument
Dim xNode, xNodeCurrent As Xml.XmlNode

xDoc = New Xml.XmlDocument
xDoc.Load("C:TempTest.xml")

xNodeCurrent = xDoc.SelectSingleNode("computerStatus")
For Each xNode In xNodeCurrent.ChildNodes
If
xNode.Attributes("computerName").InnerText.Equals("NameComputer3")Then
xNodeCurrent.RemoveChild(xNode)
Next

xDoc.Save("C:TempTestRes.xml")

avec Test.xml contenant (par exemple) :

<?xml version="1.0" standalone="yes" ?>
<computerStatus>
<computer computerName="NameComputer1" status="NotApplicable" />
<computer computerName="NameComputer2" status="Unknown" />
<computer computerName="NameComputer3" status="Unknown" />
<computer computerName="NameComputer4" status="NotApplicable" />
<computer computerName="NameComputer5" status="Unknown" />
</computerStatus>

-> TestRes.xml contient à la fin :

<?xml version="1.0" standalone="yes" ?>
<computerStatus>
<computer computerName="NameComputer1" status="NotApplicable" />
<computer computerName="NameComputer2" status="Unknown" />
<computer computerName="NameComputer4" status="NotApplicable" />
<computer computerName="NameComputer5" status="Unknown" />
</computerStatus>

Cela te convient il ?

A+

--
fmillox


"TroXsA" a écrit :

Bonjour a tous !!!

Comment faire pour lire ce type de fichier XML ?

- <computerStatus>
<computer computerName="NameComputer1" status="NotApplicable" />
<computer computerName="NameComputer2" status="Unknown" />
<computer computerName="NameComputer3" status="Unknown" />
<computer computerName="NameComputer4" status="NotApplicable" />
<computer computerName="NameComputer5" status="Unknown" />

Je souhaiterais quand il rencontre "NameComputer3" qu'il efface la ligne ...
je pourrais utiliser un StreamReader, je trouve que ne ça fait pas propre !
:)

Merci de votre aide

Cordialement






Avatar
TroXsA
Merci beaucoup

Le code que tu m'as donné plantais a If
xNode.Attributes("computerName").InnerText.Equals("NameComputer3")

j'ai repris le code que j'avais fait et j'ai fais un remove au lieu de
RemoveNode et ça fonctionne tres bien comme ça !

Merci encore