Dim InfoSérie As SérieInfoDeBase Dim serializer As XmlSerializer = New XmlSerializer(GetType(SérieInfoDeBase)) 'Lecture Using reader As Stream = New FileStream(NomFichier, FileMode.Open) InfoSérie = CType(serializer.Deserialize(reader), SérieInfoDeBase) reader.Close() End Using 'Modifications InfoSérie.DernierEpisodeVue = "S02E11" 'Ecriture Using writer As Stream = New FileStream(NomFichier, FileMode.Create) serializer.Serialize(writer, InfoSérie) writer.Close() End Using
Public Function ModifFichierXMLSérieInfoDeBase(ByVal CheminFichier As String, ByVal EcrireStruct As SérieInfoDeBase) As Boolean Dim XMLDoc As New XmlDocument XMLDoc.Load(CheminFichier) Dim NoeudParent As XmlNode = XMLDoc.GetElementsByTagName("DernierEpisodeVue").ItemOf(0).ParentNode Dim AncienNoeud As XmlNode = XMLDoc.GetElementsByTagName("DernierEpisodeVue").ItemOf(0) Dim NouvelElement As XmlElement = XMLDoc.CreateElement(AncienNoeud.Name) NouvelElement.InnerText = EcrireStruct.DernierEpisodeVue NoeudParent.ReplaceChild(NouvelElement, AncienNoeud) XMLDoc.Save(CheminFichier) End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Function ModifFichierXMLSérieInfoDeBase(ByVal CheminFichier As String, ByVal EcrireStruct As SérieInfoDeBase, ByVal MembreAModifier As String) As Boolean Dim Ret As Boolean = True Dim XMLDoc As New XmlDocument Dim ValeurModifiée As String = "" Dim ValeurMembre As [Object] = Nothing Try XMLDoc.Load(CheminFichier) Dim NoeudParent As XmlNode = XMLDoc.GetElementsByTagName(MembreAModifier).ItemOf(0).ParentNode Dim AncienNoeud As XmlNode = XMLDoc.GetElementsByTagName(MembreAModifier).ItemOf(0) Dim NouvelElement As XmlElement = XMLDoc.CreateElement(AncienNoeud.Name) Dim MembresStruct() As MemberInfo = EcrireStruct.GetType.GetMembers For Each Membre In MembresStruct If Membre.Name = MembreAModifier Then ValeurMembre = EcrireStruct.GetType.InvokeMember(MembreAModifier, BindingFlags.GetField, Nothing, EcrireStruct, Nothing) Exit For End If Next NouvelElement.InnerText = ValeurMembre NoeudParent.ReplaceChild(NouvelElement, AncienNoeud) XMLDoc.Save(CheminFichier) Catch Ret = False End Try Return Ret End Function