Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung VB for Applications

GELÖST

CSharp Variablen aus XML Datei einlesen

Mitglied: Neomatic

Neomatic (Level 1) - Jetzt verbinden

03.02.2011, aktualisiert 04.02.2011, 7550 Aufrufe, 6 Kommentare

Ich möchte aus einer XML Datei Werte auslesen und in Variablen übergeben

Hallo,

eins vorweg ich programmiere erst seit kurzen mit C# und habe daher noch nicht viel erfahrung. Daher bitte ich etwas um Nachsicht wenn ich etwas nicht direkt verstehe oder mein Code etwas durcheinander ist.


Aber zum eigentlichen:

Ich möchte Werte aus einer XML Datei einlesen und an Variablen übergeben. Ich habe bereits etwas experimentiert und einen Code gebastelt. Die Fehlerliste zeigt 0 Fehler aber jedes mal wenn die Variablen aus der XML Datei gelesen werden soll, sagt er mit das der Wert nicht unter appSettings zu finden ist. Dabei steht er drin.

9075c57dedbc9a7f53d42b07e910d54a - Klicke auf das Bild, um es zu vergrößern


Hier mal mein Code:

01.
 
02.
            AppSettingsReader config = new AppSettingsReader(); 
03.
 
04.
            string mailfrom = (string)config.GetValue("mailfrom", typeof(string)); 
05.
            string mailto = (string)config.GetValue("mailto", typeof(string)); 
06.
            string mailsubject = (string)config.GetValue("mailsubject", typeof(string)); 
07.
            string smtpsrv = (string)config.GetValue("smtpsrv", typeof(string)); 
08.
            int smtpport = (int)config.GetValue("smtpport", typeof(int)); 
09.
            string smtpuser = (string)config.GetValue("smtpuser", typeof(string)); 
10.
            string smtppasswd = (string)config.GetValue("smtppasswd", typeof(string)); 
11.
            bool secsmtp = (bool)config.GetValue("secsmtp", typeof(bool)); 
12.
        

Und hier die XML Datei die eingelesen werden soll:

01.
 
02.
<?xml version="1.0" encoding="utf-8"?> 
03.
<configuration> 
04.
  <appSettings> 
05.
    <add key="mailfrom" value="0815@abc.de" /> 
06.
    <add key="mailto" value="0815@def.de" /> 
07.
    <add key="mailsubject" value="0815 Runde" /> 
08.
    <add key="smtpsrv" value="pop.def.de" /> 
09.
    <add key="smtpport" value="25" /> 
10.
    <add key="smtpuser" value="benutzer" /> 
11.
    <add key="smtppasswd" value="passwort" /> 
12.
    <add key="secsmtp" value="false" /> 
13.
  </appSettings> 
14.
</configuration> 
15.
 


Sieht jemand den Fehler?

Oder hättet ihr einen besseren weg?

Ich wäre für Hilfe wirklich dankbar.


Gruß

Neomatic


Edit1: doppelten mailto Eintrag geändert.
Mitglied: perseues
04.02.2011 um 08:41 Uhr
Hallo Neomatic,

nun, wenn das der Originalcode ist, hat der Compiler recht. Der Wert "mailfrom" ist nicht da. Du hast da zweimal "mailto" stehen.

Grüße perseues
Bitte warten ..
Mitglied: Neomatic
04.02.2011 um 09:04 Uhr
Hallo perseues,

danke für den Hinweis. Hab es gestern einfach nicht mehr gesehen. War wohl zu spät.

Habs korrigiert, allerdings immernoch die selbe Fehlermeldung.


Gruß

Neomatic
Bitte warten ..
Mitglied: perseues
04.02.2011 um 16:18 Uhr
versuch im Programm mal:

01.
using System.Configuration;
und dann den Zugriff einfach per:

01.
string mailfrom = System.Configuration.ConfigurationSettings.AppSettings["mailfrom"]; 
02.
...
so klappts bei mir zumindest.


Edit:

hier mal kurz mein Test mit Deiner App.config:

01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.Linq; 
04.
using System.Text; 
05.
using System.Configuration; 
06.
 
07.
namespace ConsoleApplication1 
08.
09.
    class Program 
10.
11.
        static void Main(string[] args) 
12.
13.
            string mailto = System.Configuration.ConfigurationSettings.AppSettings["mailto"]; 
14.
            string mailfrom = System.Configuration.ConfigurationSettings.AppSettings["mailfrom"]; 
15.
            Console.WriteLine(mailto); 
16.
            Console.WriteLine(mailfrom); 
17.
18.
19.
}
Bitte warten ..
Mitglied: Neomatic
05.02.2011 um 00:10 Uhr
Hallo,

soweit funktioniert der Code. Allerdings meckert er dann folgendes an:


Eine implizierte Konvertierung von "string" in "bool" ist nicht möglich

Die beste Übereinstimmung für die überladene System.Net.Mail.SmtpClient.SmtpClient(string, int)-Methode hat einige ungültige Argumente.

2-Argument: Kann nicht von "string" in "int" konvertiert werden.


All diese Fehler zeigen auf die Zeile:

01.
SmtpClient client = new SmtpClient(smtpsrv, smtpport);

Dann hat er noch folgenden Fehler:

Eine implizite Konvertierung vom Typ "string" in "bool" ist nicht möglich.


in der Zeile :

01.
client.EnableSsl = secsmtp;

Ich habe versucht die Variable "smtpport" mit "int" und "secsmtp" mit "bool" zu deklarieren, allerdings gibt es da noch mehr fehler.

Wie kann ich den Fehler beheben, bzw. was bedeuten diese Meldungen?

Gruß

Neomatic
Bitte warten ..
Mitglied: perseues
05.02.2011 um 10:24 Uhr
O.K. App.settings gibt immer einen String zurück. (Wußte ich bisher auch nicht, da ich bisher nur Strings ausgelesen habe). Macht nichts. Du mußt jetzt den String nach Integer und Bool konvertieren. Dazu gibt es die Methoden .ToInt32 und .ToBoolean. Also für das Beispiel von mir:

01.
            string smtpport = System.Configuration.ConfigurationSettings.AppSettings["smtpport"]; 
02.
            string secsmtp = System.Configuration.ConfigurationSettings.AppSettings["secsmtp"]; 
03.
            int intsmtpport = Convert.ToInt32(smtpport); 
04.
            Console.WriteLine(intsmtpport); 
05.
            bool boolsec = Convert.ToBoolean(secsmtp); 
06.
            Console.WriteLine(boolsec);
Grüße perseues
Bitte warten ..
Mitglied: Neomatic
05.02.2011 um 21:53 Uhr
Hallo,

vielen Dank es funktioniert.

Ich musste erst noch

01.
using System.Reflection;


hinzufügen damit es funktioniert. Er bringt zwar noch folgende Warnung:

"System.Configuration.ConfigurationSettings.AppSettings" ist veraltet: ""This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings""


Aber darum kümmere ich mich später. Erstmal soll das Programm lauffähig sein, dann kann optimiert werden.


Vielen Dank für deine Hilfe.

Gruß

Neomatic
Bitte warten ..
Ähnliche Inhalte
XML
CSharp XML node hinzufügen
gelöst Frage von Sirius91XML2 Kommentare

Hallo liebe Community, wahrscheinlich ist die Antwort sehr simpel aber ich komme einfach nicht darauf bzw. finde nicht der ...

Microsoft Office
Alle XML Dateien eines Ordners in Excel per VBA einlesen
Frage von thomas1972Microsoft Office5 Kommentare

Guten Morgen, ich möchte bestimmte XML Dateien eines Ordner in eine Mappe hintereinander einlesen. Eine Datei bekomme ich ohne ...

XML
Einlesen bestimmten Werten, Texten aus XML- Datei in EXCEL
gelöst Frage von EverestXML11 Kommentare

Hallo Experten, ich möchte in Excel die Werte/Texte aus einer XML-Datei direkt lesen ohne sie zu importieren. Kann jemand ...

Batch & Shell
Powershell intelligent Variablen einlesen
Frage von PinkFLuffyUnicornBatch & Shell5 Kommentare

Hi, ich habe folgendes Problem: Ich hzabe eine Textdatei aus welcher ich gerne zeilenweise variablen auslesen und in einer ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit27 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Monitoring
VPN Performance Zyxel-Fritte
gelöst Frage von HenereMonitoring13 Kommentare

Servus, nachdem ihr mir ja schon so gut helfen konntet, was das VPN zwischen Zyxel USG60W und Fritte 7490 ...