0/5 (2 avis)
Vue 3 725 fois - Téléchargée 163 fois
Imports System.Xml Public Class FormServiceConfiguration Private srvController As New ServiceController("ServiceExtraction") Private documentXML As New XmlDocument Private node As XmlNode Private Const CHEMIN As String = "C:\Documents and Settings\xxx\Mes documents\Visual Studio 2008\Projects\Test\My Project\Settings.settings" ''' <summary> ''' Menu Quitter. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> ''' <remarks>Quitter l'application</remarks> Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click Application.Exit() End Sub ''' <summary> ''' DemarrerService. ''' </summary> ''' <remarks>Démarre le service "Service Extraction"</remarks> Private Sub DemarrerService() srvController.Start() srvController.Refresh() End Sub ''' <summary> ''' ArretService. ''' </summary> ''' <remarks>Arrête le service "Service Extraction"</remarks> Private Sub ArretService() srvController.Stop() srvController.Refresh() End Sub ''' <summary> ''' btnArret_Click. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> ''' <remarks>Au clic sur le bouton Arreter</remarks> Private Sub btnArret_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArret.Click Me.ArretService() End Sub ''' <summary> ''' btnDemarrer_Click. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> ''' <remarks>Au clic sur le bouton Demarrer</remarks> Private Sub btnDemarrer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDemarrer.Click Me.DemarrerService() End Sub ''' <summary> ''' FormServiceConfiguration_Load. ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> ''' <remarks>Au chargement de la form</remarks> Private Sub FormServiceConfiguration_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.LireSettings() End Sub Private Sub LireSettings() Try documentXML.Load(CHEMIN) For Each Me.node In documentXML.Item("SettingsFile").Item("Settings") If Me.node.Name = "Setting" Then 'Assigne le contenu de la node ayant pour attribut name "nomReseau" à la textbox If Me.node.Attributes.GetNamedItem("Name").Value = "nomReseau" Then If Me.node.LastChild.Name = "Value" Then txtNomReseau.Text = Me.node.LastChild.InnerText End If End If 'Assigne le contenu de la node ayant pour attribut name "nomPartage" à la textbox If Me.node.Attributes.GetNamedItem("Name").Value = "nomPartage" Then If Me.node.LastChild.Name = "Value" Then txtPartageReseau.Text = Me.node.LastChild.InnerText End If End If End If Next Me.node Catch ex As XmlException MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error) Catch ex As Exception MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub EcrireSettings() Try documentXML.Load(CHEMIN) For Each Me.node In documentXML.Item("SettingsFile").Item("Settings") If Me.node.Name = "Setting" Then If Me.node.Attributes.GetNamedItem("Name").Value = "nomReseau" Then If Me.node.LastChild.Name = "Value" Then Me.node.LastChild.InnerText = txtNomReseau.Text End If End If 'Assigne le contenu de la node ayant pour attribut name "nomPartage" à la textbox If Me.node.Attributes.GetNamedItem("Name").Value = "nomPartage" Then If Me.node.LastChild.Name = "Value" Then Me.node.LastChild.InnerText = txtPartageReseau.Text End If End If End If Next Me.node documentXML.Save(CHEMIN) Catch ex As XmlException MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error) Catch ex As Exception MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub txtPartageReseau_Validating(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNomReseau.Leave Me.EcrireSettings() End Sub Private Sub txtNomReseau_Validating(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNomReseau.TextChanged Me.EcrireSettings() End Sub End Class
4 mai 2009 à 15:30
il faut tenir compte du namespace, définit dans le documentElement
Dim xmlDocument As New Xml.XmlDocument
Dim xmlNode As Xml.XmlNode
xmlDocument.Load("c:\a.xml")
Dim xmlNS As New Xml.XmlNamespaceManager(xmlDocument.NameTable)
xmlNS.AddNamespace("a", "http://schemas.microsoft.com/VisualStudio/2004/01/settings")
xmlNode = xmlDocument.DocumentElement.SelectSingleNode("a:Settings/a:Setting[@Name='nomReseau']/a:Value", xmlNS)
If Not Nothing Is xmlNode Then
MessageBox.Show("ancienne valeur: " & xmlNode.InnerText)
xmlNode.InnerText = "ma nouvelle valeur"
xmlDocument.save("c:\b.xml")
End If
4 mai 2009 à 15:01
Dim xmlDocument As New DOMDocument
Dim xmlNode As IXMLDOMNode
xmlDocument.Load "c:\a.xml"
Set xmlNode = xmlDocument.selectSingleNode("//SettingsFile/Settings/Setting[@Name='nomReseau']/Value")
If Not Nothing Is xmlNode Then
MsgBox "ancienne valeur: " & xmlNode.Text
xmlNode.Text = "nouvelle valeur"
xmlDocument.save "c:\b.xml"
End If
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.