Entwickler-Ecke

IO, XML und Registry - XML - Datei / Zeile ausgeben lassen


Rooney2000 - Mo 21.01.08 13:49
Titel: XML - Datei / Zeile ausgeben lassen
Gibt es eine Möglichkeit, wenn ich ich z.b. einen Fehler in der XML Datei in C# anzeigen lassen möchte, auch die entsprechende Zeile (int) ausgeben zu lassen .... ?


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mo 21.01.2008 um 13:50


Christian S. - Mo 21.01.08 13:51

Hallo und :welcome:!

Deine Informationen sind ein bisschen dürftig. Zumindest muss man erstmal wissen, wie Du die XML-Datei denn überhaupt einliest. :-)

Grüße
Christian


Rooney2000 - Mo 21.01.08 14:03


C#-Quelltext
1:
2:
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(FileName);


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Mo 21.01.08 14:10

Laut Doku wirft die Load-Methode bei einem Fehler in der XML-Datei eine XmlException. Die hat die Eigenschaften LineNumber und LinePosition und ein paar weitere interessante Eigenschaften.


Rooney2000 - Mo 21.01.08 14:20

Ja das klingt doch schon mal gut ;-)
Nur ich möchte die xml - Datei nicht auf ihre eigenen Fehler untersuchen sondern auf die Daten die in Ihr stehen.

z.b.


XML-Daten
1:
2:
3:
4:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--Test-->
<Configuration ID="1">
</Configuration>


Ich überprüfe in einer Funktion ob z.b. ID (in Zeile 3) auch ID steht und nicht iD ...
Jetzt würde ich halt gerne noch die Zeile ausgeben lassen ...

Moderiert von user profile iconChristian S.: XML-Tags hinzugefügt


Christian S. - Mo 21.01.08 14:33

Ich denke, dazu muss man erst einmal wissen, wie Deine Prüfungsfunktion aussieht. :-)


Rooney2000 - Mo 21.01.08 14:40

z.b. !!


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public string GetNameItemString(XmlNode xmlNode, string name) 
        {

            XmlNode n = xmlNode.Attributes.GetNamedItem(name);
            Configuration configuration = Configuration.getInstance();

            if (n == null)
            {
                configuration.DoXmlEvent("Warnung: XML Datei ( Tag: " + xmlNode.Name + " ). " + "Sie enthält einen ungültigen Attribut-Namen");
                return "";
            }
            return n.Value;


        }


//xmlNode: aktueller XMLNode
//Name: korrekter string


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt