vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
VB6 und XML editieren 
Autor: AlexanderL
Datum: 13.11.09 12:03

Hallo zusammen,

ich möchte mit VB6 über das DOM-Object einen bestehenden Wert in einer XML-Datei ändern.

Zum Auslesen gehe ich wiefolgt vor:

Dim objXML As MSXML2.DOMDocument40
 
    zWSchritt = "XML\IsyCommunicate\Config\1\"
    PfadGes = SKMINIData.VorlagePfad & zWSchritt & "ConfigValues1.xml"
 
    Set objXML = New MSXML2.DOMDocument40
    objXML.validateOnParse = True       ' Struktur des Dokumentes beim Laden 
    ' prüfen
 
    If Not objXML.Load(PfadGes) Then ' Fehler beim Laden
        MsgBox "Fehler beim Laden des Dokumentes." & vbCrLf & vbCrLf _
        & "Grund: " & objXML.parseError.reason & vbCrLf _
        & "Zeile: " & objXML.parseError.Line, vbOKOnly Or vbExclamation, _
        "Fehler"
        Set objXML = Nothing
    End If
 
    On Error Resume Next
    'Hier werden jetzt die einzelnen Werte geladen
 
    ''Allgemeine Einstellungen
    ''========================
    frmSKMConnectData.grdAllgEinstellungen.CellText(1, 1) = _
      objXML.documentElement.selectSingleNode( _
      "/Config/Controllers/Controller[ID=128]/Versions/Version/Common/Items/It" & _
      "m[Key='ForeignSystem']/ItemValue").Text      
    frmSKMConnectData.grdAllgEinstellungen.CellText(1, 2) = _
    objXML.documentElement.selectSingleNode( _
    "/Config/Controllers/Controller[ID=128]/Versions/Version/Common/Items/Item" & _
    "Key='ProjectName']/ItemValue").Text      
'...
Ich habe nun auch versucht den Wert darüber wieder zu ändern
objXML.documentElement.selectSingleNode( _
  "/Config/Controllers/Controller[ID=128]/Versions/Version/Common/Items/Item[K" & _
  "y='DBServer']/ItemValue").Text = SKMConnectInfoLoadSave.SKMChangeValue
objXML.Save SavePfad
Nur schreibt er den geänderten Wert nicht dahin wo er sollte

Als Beispiel:

vorher - Wert VorlageXML zwischen den Tags <ItemValue>:
<Config>
  <Controllers>
    <ID>128</ID>
      <Versions>
        <Version>
          <Number>1</Number>
          <Common>
            <Items>
              <Item>
	            <Key>ProjectName</Key>
                <ItemValue>[u]VorlageXML</ItemValue>
              </Item>
nachher - Der geänderte Wert vor dem Tag, der alte ist auch noch da:
<Config>
  <Controllers>
    <ID>128</ID>
      <Versions>
        <Version>
          <Number>1</Number>
          <Common>
            <Items>
              <Item>
	            <Key>ProjectName</Key>
                [u]VorlageHL7<ItemValue>VorlageXML</ItemValue>
              </Item>
Was muss ich im Code ändern, damit der Wert an richtiger Position gespeichert wird. Ich kenne mich nicht so gut in XML aus, deshalb bitte um Hilfe.

Danke & Gruß
Alexander
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VB6 und XML editieren2.353AlexanderL13.11.09 12:03

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel