Entwickler-Ecke

IO, XML und Registry - Änderung in XML Value


marcelbmg - Mo 02.05.16 20:22
Titel: Änderung in XML Value
Hallo Zusammen,

ich bin recht neu in der Programmierwelt. Bin dabei mich in WPF einzuarbeiten. Ich möchte in einer XML Datei einen Wert in der Node automatisch ändern.

Die XML Datei und meinen bisherigen Code habe ich angefügt. Soweit erstellt er auch eine Neue Datei, er erkennt auch die Node also kann Sie auslesen.

Aber es passiert nichts im punkt ändern des Wertes. Den neuen Wert soll aus einer Textbox ausgelesen werden und im XML eingefügt werden. Ich hoffe jemand kann mir helfen und sagen was ich falsch mache und mir sagen wie es besser oder richtig sein muss.

Vielen Dank!


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
private async void btn4_Start_Click_2(object sender, RoutedEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("K:\\MAM\\DevExpress\\cs proj datei.v16.2.xml");

            Console.WriteLine("Nodes");
            foreach (XmlNode node in doc.DocumentElement.ChildNodes)
            {
                string text = node.Name; //or loop through its children as well
                Console.WriteLine("ItemGroup:" + text);
                foreach (XmlNode unterknoten in node)
                {
                    string text1 = unterknoten.Name; //or loop through its children as well
                    Console.WriteLine("Refernence:" + text1);

                    XmlAttribute idAttribute = aNode.Attributes[".v15.1."]; //ID Wert

                        if (idAttribute != null)
                        {

                            string currentValue = idAttribute.Value;


                            if (string.IsNullOrEmpty(currentValue))
                            {
                                idAttribute.Value = ".v15.4"// ersetzen des neuen Wertes. 
                            }
                    
                }



Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus WPF / Silverlight verschoben am Di 03.05.2016 um 14:09


Th69 - Di 03.05.16 10:22

Hallo und :welcome:,

bitte deinen Code hier direkt (als C#) posten, danke.

Edit: Und bitte Crossposts hier verlinken: myCSharp - XML Tags Inhalte auslesen und überschreiben [http://www.mycsharp.de/wbb2/thread.php?postid=3788412#post3788412]


Christian S. - Di 03.05.16 14:11

Hallo,

also irgendwie sehe ich gar nicht, wo Du versuchst, irgendwas zu ändern. Hast Du den richtigen Code gepostet? :lupe:

Grüße
Christian


marcelbmg - Mi 04.05.16 08:06

Hier der aktuelle


siehe oben :}


Th69 - Mi 04.05.16 08:59

Wenn ich mir die XML anschaue, dann wird dein Code

C#-Quelltext
1:
XmlAttribute idAttribute = aNode.Attributes[".v15.1."]; //ID Wert                    

nie etwas finden, denn du suchst nach einem Attributnamen ".v15.1.", nicht nach dem Inhalt (und erst recht nicht nach einen Teilstring).
Du mußt alle Values durchgehen und im String dann diesen Substring suchen und ersetzen.


marcelbmg - Mi 04.05.16 10:35

user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich mir die XML anschaue, dann wird dein Code

C#-Quelltext
1:
XmlAttribute idAttribute = aNode.Attributes[".v15.1."]; //ID Wert                    

nie etwas finden, denn du suchst nach einem Attributnamen ".v15.1.", nicht nach dem Inhalt (und erst recht nicht nach einen Teilstring).
Du mußt alle Values durchgehen und im String dann diesen Substring suchen und ersetzen.



Dies könnte dann wie aussehen`?


Ralf Jansen - Mi 04.05.16 10:54

Das sieht so aus als wolltest du in Projektdateien die Version von DevExpress Controls ändern.
Hats du einen speziellen Grund dafür nicht den ProjektConverter von DevExpress zu verwenden?


marcelbmg - Mi 04.05.16 13:43

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Das sieht so aus als wolltest du in Projektdateien die Version von DevExpress Controls ändern.
Hats du einen speziellen Grund dafür nicht den ProjektConverter von DevExpress zu verwenden?


Wie funktioniert dieser , wusste nicht das es sowas schon gibt. Ändert der alle Projektdateien auf die neue Version?


Ralf Jansen - Mi 04.05.16 14:31

Bevor ich mich verhasple ;) Wie der funktioniert erklärt am besten die Doku [https://documentation.devexpress.com/#ProjectConverter/CustomDocument2529]


marcelbmg - Mi 25.05.16 07:47

Sorry Ralf dies ist leider in dieser Form nicht möglich. Mit dem Dev Converter. Dieser ist sehr unverlässlich. Lässt gerne manchmal Dateien weg .

Jemand noch eine Idee wie ich diesen Teil der XML umschreiben kann?