Vb.net 2010 - LinkToXml - ajout impossible

Résolu
COlive Messages postés 91 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 3 décembre 2011 - 15 mai 2011 à 16:56
COlive Messages postés 91 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 3 décembre 2011 - 3 déc. 2011 à 13:59
bonjour,

je travaille sous vb.net 2010, framework 4
j'utilise un fichier xml c:\xmlfile.xml :
<?xml version= "1.0" encoding="utf-8"?>
<database>
 <Titres>
   0 
  <Titre>T1</Titre>
  A1
  <Duree>D1</Duree>
  <Genre>G1</Genre>
  C1
  <Resume>R1</Resume>
  I1
  <Qual>Q1</Qual>
  S1
  P1


  <Tmb>T1</Tmb>
 </Titres>
 <Titres>
  1
  <Titre>T2</Titre>
  A2
  <Duree>D2</Duree>
  <Genre>G2</Genre>
  C2
  <Resume>R2</Resume>
  I2
  <Qual>Q2</Qual>
  S2
  P2


  <Tmb>T2</Tmb>
 </Titres>
</database>


j'ai créer un xmltoschema1.xsd avec ce fichier et l'ai inclus dans mon projet pour profiter de intellisense.
j'ai codé ceci (en partie lol) :

Imports System.Xml.Linq

  Public FicBase As XDocument
  Public RqBase As System.Collections.Generic.IEnumerable(Of System.Xml.Linq.XElement)
  Public TmpXe As XElement  = <Titres>
                  
                  <Titre></Titre>
                  
                  <Duree></Duree>
                  <Genre></Genre>
                  
                  <Resume></Resume>
                  
                  <Qual></Qual>
                  
                  


                  <Tmb></Tmb>
                </Titres>
     
sub connecttoxml()
  FicBase = XDocument.Load(c:\xmlfile.xml)
  RqBase = From xelm In FicBase...<Titres> Select xelm
  If RqBase Is Nothing Then Exit Sub
 For Each xe In RqBase
    TmpItem = Listing.Items.Add(xe...<Titre>.Value) 'Titre
    TmpItem.SubItems.Add(xe....Value) 'Date
    TmpItem.SubItems.Add(xe...<Genre>.Value) 'Genre
    TmpItem.SubItems.Add(xe...<Qual>.Value) 'Qualité
    TmpItem.SubItems.Add(xe...<Sup>.Value) 'Sup
    TmpItem.SubItems.Add(xe....Value) 'Pret
    If xe....Value <> "truc" Then TmpItem.ForeColor = Color.Red
    TmpItem.Tag = xe
 Next
end sub


ça fonctionne sans soucis.
quand je clic sur un element de mon listing (qui est un listview) je fais ceci :
tmpxe = listing.selecteditems(0).tag

et ça fonctionne aussi.

sur un formulaire, je modifie le tmpxe via des textbox et autres.
puis j'ai un bouton pour ajouter les nouvelles données à mon xml :

sub addxml()
  TmpXe...<Sup>.Value = TS.Text
  TmpXe...<Qual>.Value = TS.Text
  TmpXe....Value = "Dispo"
  FicBase.Add(TmpXe)
end sub


la ligne ficbase.add me donne une erreur : this will corrupt the xmlfile.

tmpxe est pourtant structuré comme le demande mon xml.

quelle manip je fais de travaers ? une idée .

COlive.

Deux intellectuels assis iront moins loin qu'un con qui marche !

Pensez à cliquer sur réponse acceptées quand votre problème est solutionné.

1 réponse

COlive Messages postés 91 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 3 décembre 2011
3 déc. 2011 à 13:59
Je me suis débrouillé autrement. Merci


COlive.

Deux intellectuels assis iront moins loin qu'un con qui marche !

Pensez à cliquer sur réponse acceptées quand votre problème est solutionné.
3
Rejoignez-nous