Laden...

XML Tags Inhalte auslesen und überschreiben

Erstellt von marcelbmg vor 8 Jahren Letzter Beitrag vor 7 Jahren 3.790 Views
M
marcelbmg Themenstarter:in
3 Beiträge seit 2016
vor 8 Jahren
XML Tags Inhalte auslesen und überschreiben

verwendetes Datenbanksystem: VS2015 Enterprise

Hallo,

ich bin Auszubildender im 1. Lehrjahr. Daher noch nicht so recht in der Materie. Soll ein Programm erstellen wo im Datei Namen und in der XML Datei eine Versionsnummer steht.
Die Datei soll zuerst File Browser Dialog aufgerufen / gesucht werden. Das klappt auch soweit, dann will ich die neue Version in eine Textbox per Hand eintragen.

Jetzt soll er mit Button Start in alle Dateinamen und deren Unterordner und deren XML Dateien durchsuchen / auslesen und überall wo die Versionsnummer auftaucht mit der neuen Version die ich in der Textbox eingegeben habe überschreiben.

Ich hoffe ihr könnt mir helfen.

Programmiersprache ist C#. Das ganze soll mit einer GUI funktionieren die ich in WPF erstelle.
Hauptzächlich geht es mir aber um den Code.

Über feedback würde ich mich sehr freuen und wäre sehr sehr dankbar.

Gruß

16.807 Beiträge seit 2008
vor 8 Jahren

ok. Was genau ist jetzt die Frage?
Siehe [Hinweis] Wie poste ich richtig?, das Du soeben vor ersten Thema als gelesen akzeptiert hast.

T
2.219 Beiträge seit 2008
vor 8 Jahren

@marcelbmg
Wie Abt schon schreibt, ist nicht klar was du jetzt willst.
Auch können wir dir kein feedback geben, da du bis auf einen schwammigen Prozess nichts lieferst.

Code wird dir hier keiner auf solch einer Basis liefern.
Schreib deinen Code selbst oder poste Code, den wir beurteilen und ggf. mit Vorschlägen für Verbesserungen verbessern könnten.

Aber hier irgend eine Aufgabe, die du machen sollst, posten und dann erwarten das wir dir was liefern gibt es hier im Forum nicht.
Also poste deinen Code oder gib uns weitere Infos was du erwartest.
Aber deine Arbeit, wird dir keiner Abnehmen und das lernen gehört zu deiner Ausbildung.
Nutz also Bücher/Google um dich fortzubilden oder stell die richtigen Fragen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

2.207 Beiträge seit 2011
vor 8 Jahren

Hallo marcelbmg,

das XML-Thema ist ein Dauerbrenner, auch hier im Forum. Ich hab gesehen, dass du schon im Forum gesucht hast. Ich hab in dem Thread hier

Daten aus XML-Datei lesen

auch einige Threads zusammengefasst, die dir vielleicht helfen könnten.

Gruss

Coffeebean

M
marcelbmg Themenstarter:in
3 Beiträge seit 2016
vor 7 Jahren

Hallo,

ich bin mit meinem Programm etwas weiter gekommen es funktioniert soweit alles bis darauf das mir der Wert in der Node nicht verändert wird.

Kann mir jemand helfen oder sagen was ich falsch , richtig, oder anders machen kann?

Hier ist die XML:

<?xml version="1.0" encoding="UTF-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="12.0">
<Import Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props"/>
+<PropertyGroup>
+<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+<PropertyGroup>
+<PropertyGroup>
-<ItemGroup>
-<Reference Include="DevExpress.Charts.v15.1.Core, Version=15.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"><SpecificVersion>False</SpecificVersion><HintPath>..\Assemblies\DevExpress.Charts**.v15.1.**Core.dll</HintPath>
</Reference

-<Reference Include="DevExpress.Data.v15.1, Version=15.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">

Diese Fett Makierten Werte Versionsnummern sollen geändert werden mit einem Wert aus einer Textbox.

Hier mein bisheriger Code;

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(&quot;Nodes&quot;);  
        foreach (XmlNode node in doc.DocumentElement.ChildNodes)  
        {  
            string text = node.Name; //or loop through its children as well  
            Console.WriteLine(&quot;ItemGroup:&quot; + text);  
            foreach (XmlNode unterknoten in node)  
            {  
                string text1 = unterknoten.Name; //or loop through its children as well  
                Console.WriteLine(&quot;Refernence:&quot; + text1);  

                node.InnerText = (&quot;.v18.4&quot;);  
                doc.Save(&quot;K:\\Test100.xml&quot;);  

Vielen Dank

Gruss

M
marcelbmg Themenstarter:in
3 Beiträge seit 2016
vor 7 Jahren

Kann mir keiner hierbei helfen oder hat einen Lösungsansatz?

J
251 Beiträge seit 2012
vor 7 Jahren

Es hilft ungemein beim Lesen, wenn du deinen Code/XML in (C#/XML)Code-Tags packst.

Bist du die Schritte mal mit dem Debugger ([Artikel] Debugger: Wie verwende ich den von Visual Studio?) nachgegangen?

Darüber hinaus bist du nicht der Erste, der etwas in einen XML ändern möchte (z.B. Wert eines XML-Knotens ändern und speichern)

3.003 Beiträge seit 2006
vor 7 Jahren

Kann mir keiner hierbei helfen oder hat einen Lösungsansatz?


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);

        node.InnerText = (".v18.4");
        doc.Save("K:\\Test100.xml");
    }
}

Die Frage ist, was du in den letzten vier Wochen aus diesem rudimentären Stück Code gemacht hast. Du musst schon ein konkretes Problem nennen, bei dem dir geholfen werden soll - einfach ein allgemeines Problem beschreiben und dann warten, bis jemand deine Arbeit macht, ist nicht.

XmlDocument.SelectNodes
Einführung in XPath

Außerdem noch einmal [Hinweis] Wie poste ich richtig? , besonders Punkte 4, 5 und 6.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)