Autor Beitrag
marcelbmg
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 02.05.16 20:22 
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!

ausblenden 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
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von marcelbmg am Mi 04.05.16 08:05, insgesamt 4-mal bearbeitet
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
marcelbmg Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 04.05.16 08:06 
Hier der aktuelle


siehe oben :}
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 04.05.16 08:59 
Wenn ich mir die XML anschaue, dann wird dein Code
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 04.05.16 14:31 
Bevor ich mich verhasple ;) Wie der funktioniert erklärt am besten die Doku
marcelbmg Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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?