Autor Beitrag
sailer86
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 09:56 
Hi,

also ich will zum erstem mal eine Datei mit xml auslesen. Leider bekomm ich immer folgende Fehlermeldung:

Fehler beim laden. Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture= natural, PublicKeyToken=b77a5c561934e089' failed.

Ich weis nicht wirklich wo mein Fehler liegt. Deshalb füge ich mal meinen Code an. Wäre nett, wenn mal jemand drüberschauen kann. Es ist bestimmt ein total simpler Fehler den ich einfach nicht erkenne.

ausblenden volle Höhe 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:
30:
31:
32:
33:
34:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;
using System.Security.Permissions;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument dokument = new XmlDocument();

            try
            {
                dokument.Load(@"D:\Probe\xml");
                XmlElement root = dokument.DocumentElement;

                foreach (XmlNode @parameter in root.ChildNodes)
                {
                    Console.WriteLine(parameter.Attributes["name"].InnerText);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Fehler beim laden" + ex.Message);
                Console.ReadKey();
                return;
            }
        }     
    }
}


Kann mir jemand helfen?

Vielen lieben Dank.

LG
sailer
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 01.04.08 10:03 
Hab jetzt nicht extra getestet aber versuchs mal mit
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
XmlNode root = dokument.DocumentElement;

foreach (XmlNode parameter in root.ChildNodes)
{
    Console.WriteLine(parameter.Attributes["name"].Value);
}
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 10:26 
Hi,

vielen Dank für deine Antwort. Aber leider funktioniert dein Beispiel auch nicht. Ich bekomm immer die gleiche Fehlermeldung wie vorher.

Hat jemand noch einen anderen Vorschlag?

LG
sailer
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 01.04.08 10:32 
Wozu hast du die
ausblenden C#-Quelltext
1:
using System.Security.Permissions;					

eigentlich eingebunden? wird doch nicht benötigt oder?
nimm einfach mal raus weil der Fehler hat ja was damit zu tun.


Edit : vergiss was ich vorher geschrieben habe.
Ich war etwas blind ... dein fehler liegt im Dateipfad!
ausblenden C#-Quelltext
1:
dokument.Load(@"D:\Probe\xml");					

der kann garnicht funktionieren. Da es ja keine Datei sondern einen Ordner angibt (meintest du eventuell D:\Probe.xml ?)
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 10:51 
Hi,

das hatte ich schon gemacht. Ich habe das using ... eigentlich nur eingefügt weil die Fehlermeldung kam und ich dachte vielleicht fehlt das. Was ich mir aber nicht vorstellen konnte.

Einen anderen Fehler habe ich auch noch gefunden:

ausblenden C#-Quelltext
1:
dokument.Load(@"D:\Probe\Probe.xml");					


Aber daran lag der Fehler nicht.

Meine xml Datei ist doch nicht falsch oder?
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
<?xml version="1.0"?>
<Versuch>
  <ButtonName>Probe</ButtonName>
  <Parameter name = "Wert1" dbName = "wert1" /> 
  <Parameter name = "Wert2" dbName = "wert2" /> 
  <Parameter name = "Wert3" dbName = "wert3" /> 
  <InsertStatement >
</Versuch>


LG
sailer
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 01.04.08 10:58 
An der XMl-Datei liegts.

1. <ButtonName>Probe</ButtonName> enthält kein Attribut "name" wird dir also einen Fehler ausgeben wenn du ihn da abrufen willst (was du ja tust da du jedes Childnode durchläufst).
2. <InsertStatement > wenn es das öffnen eines Tags sein soll fehlt das Schließen aber wenn es einfach ein leeres Element ist sollte es wohl <InsertStatement/> heissen
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 11:40 
Hi,

also ich kann keinen Fehler mehr finden. Ich habe die xml Datei jetzt ganz simpel gestaltet und den buttonName und das insertstatement einfach mal rausgenommen. aber es funktioniert immer noch nicht. Hier ist mal mein gesamter Code.

C#:
ausblenden volle Höhe 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:
30:
31:
32:
33:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument dokument = new XmlDocument();

            try
            {
                dokument.Load(@"D:\Stationen_xml\Probe.xml");
                XmlElement root = dokument.DocumentElement;

                foreach (XmlNode @parameter in root.ChildNodes)
                {
                    Console.WriteLine(parameter.Attributes["name"].InnerText);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Fehler beim laden" + ex.Message);
                Console.ReadKey();
                return;
            }
        }     
    }
}


xml:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
<?xml version="1.0"?>
<Station>
  <Parameter name = "Ortskoordinate" dbName = "ortskoordinate" /> 
  <Parameter name = "Gerät" dbName = "geraet" /> 
  <Parameter name = "Status" dbName = "geraet_status" /> 
</Station>


Ich weis langsam nicht mehr weiter.

Und vielen Dank das du mir so gut hilfst.

LG
sailer
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 01.04.08 11:50 
Ich habs jetz so wie dus grad gepostet hast durchlaufen lassen
Er sagt dir doch sogar wo der Fehler ist... er gibt dir die Postition von dem "ä" in
Zitat:
<Parameter name = "Gerät" dbName = "geraet" />
an. Also musst du da was ändern.


Zitat:
Und vielen Dank das du mir so gut hilfst.

kein Problem für sowas ist ein Forum ja da.
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 12:38 
Hi,

also bei mir bringt er immer diese Fehlermeldung, die ich oben beschrieben habe. Zum Fehler "Gerät" kommt er erst gar nicht. Ich vermute, dass ich keine Rechte habe eine Datei zu öffnen. Frägt sich nur, wie man das einstellt, dass ich recht habe. Ich vermute der Fehler taucht auf, weil meine DAtei auf einem NEtzlaufwerk liegt. Ich habe es nämlich mal probiert lokal auszuführen und dann geht es. Jetzt ist nur die Frage, was ich tun muss damit es auf dem Netzlaufwerk auch geht.

LG
sailer
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 13:29 
Hi,

ich habe es nach langem suchen rausbekommen. Man muss bei den Eigenschaften "This is a full trust application" anklicken. Dann geht es.

Aber vielen vielen Dank.

LG
Sailer
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 01.04.08 13:30 
Da es lokal geht aber über Netzwerk nicht ist das einlesen an sich schonmal in Ordnung.

Und bezüglich Netzwerk:
Sofern alle benötigten Rechte vorhanden sind sollte es genauso gehn wie bei einer lokalen (mit dem absoluten Pfad halt).
Aber ich kenn mich da auch nicht wirklich aus (Azubi im 1. Lehrjahr), vielleicht kann dir jemand anderes helfen.


Edit: hab grad gesehn das dir mit diesem problem in einem anderen Forum schon geholfen wurde.
Hier der Link zur entsprechenden Topic www.mycsharp.de/wbb2...id=288638#post288638
sailer86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.04.08 13:57 
Hi,

vielen Dank. Ich hatte die ganze Zeit nach dem falschen Fehler geschaut. Das es an den Rechten liegt bin ich erst später drauf gekommen. Naja besser wie gar nicht.

Danke

LG
sailer