myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Grundlagen von C# (https://www.mycsharp.de/wbb2/board.php?boardid=88)
--- Einzelnen Wert aus XML auslesen (https://www.mycsharp.de/wbb2/thread.php?threadid=121432)


Geschrieben von max_78 am 03.01.2019 um 19:43:
  Einzelnen Wert aus XML auslesen
Hallo zusammen!

Ich bräuchte Bitte eure Hilfe!
Ich hab bis jetzt Hobbymäßig nur VB.NET Basic programmiert und fange eben erst an C# zu verwenden.
Und hier hab ich bereits mein erstes größeres Problem:
Ich versuche aus einer xml-Konfigdatei nur einen einzigen Wert auszulesen, ich bin seit gestern am googeln und am testen, aber es gelingt mir einfach nicht.
Um ehrlich zu sein, ich hätte mir auch nie gedacht das XML so vielseitig sein kann.

Meine XML sieht so aus:

XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<VISUDAT>
  <Konfig>
    <Port01>
      <Portein>1</Portein>                             <== diesen einen Wert brauche ich
      <PortDefinition
>Definitionstext</PortDefinition>
      <PortBezeichnung>Bezeichnung</PortBezeichnung>
    </Port01>
    <Port02>
      <Portein>1</Portein>
      <PortDefinition>Definition Port 02</PortDefinition>
    </Port02>
  </Konfig>
  <Portaktionen>
    <Port01>
      <Aktion0001>BIN         23  HA</Aktion0001>
      <Aktion0002>BIN         24  HA</Aktion0002>
    </Port01>
    <Port02>
      <Aktion0001>BIL         22  Beschreibung</Aktion0001>
    </Port02>
  </Portaktionen>
</VISUDAT>

Wie kann ich nun nur den einen markierten Eintrag auslesen kann?

Hab schon verschiedenes mit XMLReader und XPath probiert, abe es delingt mir einfach nicht.


Ich hoffe ich bin hier mit meiner Frage richtig, falls nicht bitte verschieben.

Danke schon mal im Voraus, Max

Edit:
Kann ich irgendwie die Einrückungen von meiner XML anzeigen lassen damit die Struktur ersichtlich ist?


Geschrieben von Abt am 03.01.2019 um 19:49:
 
Hi,

der Umgang mit XML ist wohl das mit am meisten gezeigte und dokumentierte Beispiel in .NET. Achtung
Dass Du hier nichts findest, ist unglaubwürdig. verwundert

Mach einfach wenigstens für eine Stunde ein XML Tutorial und Du hast Dein Ergebnis. Daumen hoch
Das Forum ist weder ein kostenloser Code-Generator noch ersetzt das Forum Eigeninitiative; siehe  [Hinweis] Wie poste ich richtig? das Dir auch beim Registrierungsprozess und vor dem posten Deines ersten Themas (dieses) angezeigt wurde.

 Google-Suche nach xml tutorial .net


Geschrieben von max_78 am 03.01.2019 um 20:00:
 
Hallo Abt!

Danke für deine schnelle Antwort!

Ich habe meinen XML-Code jetzt richtig formatiert.

Ich erwarte mir hier keine fertigen Lösungen und du hättest deinen Beitrag auch in einem etwas neutralerem Ton schreiben können.

Ich suche sehr viel und versuche immer selbst Lösungen zu finden, aber XML und C# ist mir neu und vielleicht bräuchte ich ja auch nur einen Denkanstoss.

Ich hab mich auch in XML etws eingelesen, aber ich verstehe die Struktur nicht wie ich noch weiter in Childs wechseln kann.

Die Scripte die ich bis jetzt probiert habe sind die Standardscripte die Google auswirft.
So hab ich z.B. alle Einträge von <Konfig> bereits auslesen können, aber wie beschrieben bräuchte ich eben nur den Wert <Portein> von <Port01>.

Weiters habe ich es auch geschafft alle <Portein> auszulesen, aber ich schaffe es nicht zu unterscheiden ob es von <Port01> oder <Port02> der Wert ist.


Geschrieben von Abt am 03.01.2019 um 20:06:
 
Zitat von max_78:
Ich erwarte mir hier keine fertigen Lösungen und du hättest deinen Beitrag auch in einem etwas neutralerem Ton schreiben können.

Ich bin nur verantwortlich für das was ich schreibe; nicht wie man es liest. Daumen hoch

Zitat von max_78:
sind die Standardscripte die Google auswirft.

Nur von Google kopieren hat selten was gebracht; Du musst den Code auch verstehen.
Aber wenn ich nach  Google-Suche nach c# xml select single node suche, dann sehe ich auf der ersten Seite 100% funktionierende Beispiele.

Zitat von max_78:
So hab ich z.B. alle Einträge von <Konfig> bereits auslesen können, aber wie beschrieben bräuchte ich eben nur den Wert <Portein> von <Port01>.

Hier ( How to select a single node from an XML document?) hat sich sogar jemand die Mühe gemacht EXAKT zu beschreiben, wie XPath funktioniert.
Das kannst Du 1:1 auf Dein XML Dokument anwenden.


Geschrieben von max_78 am 03.01.2019 um 20:08:
 
Danke für deine Links, ich sehe mir die mal an!


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 06.12.2019 22:22