Initial commit

This commit is contained in:
HuskyTeufel
2021-08-02 13:55:20 +02:00
commit 596a5da903
23 changed files with 848 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
/XMLParser/bin/*
/XMLParser/obj/*
/XMLParserTest/bin/Debug/*
/XMLParserTest/obj/Debug/*
/XMLParserTest/obj/*

26
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/XMLParserTest/bin/Debug/net5.0/XMLParserTest.dll",
"args": [],
"cwd": "${workspaceFolder}/XMLParserTest",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}

42
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,42 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/XMLParserTest/XMLParserTest.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/XMLParserTest/XMLParserTest.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"${workspaceFolder}/XMLParserTest/XMLParserTest.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
}

48
XMLParser.sln Normal file
View File

@@ -0,0 +1,48 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.6.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLParser", "XMLParser\XMLParser.csproj", "{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLParserTest", "XMLParserTest\XMLParserTest.csproj", "{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x64.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x64.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x86.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x86.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|Any CPU.Build.0 = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x64.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x64.Build.0 = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x86.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x86.Build.0 = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|Any CPU.Build.0 = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|x64.ActiveCfg = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|x64.Build.0 = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|x86.ActiveCfg = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|x86.Build.0 = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|Any CPU.ActiveCfg = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|Any CPU.Build.0 = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|x64.ActiveCfg = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|x64.Build.0 = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|x86.ActiveCfg = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,20 @@
namespace XMLParser
{
internal class AbwassertechnischeAnlage
{
string objektbezeichnung;
EObjektArt objektArt;
string entwaesserungsart;
Kante kante;
Knoten knoten;
Geometrie geometrie;
public string Objektbezeichnung { get => objektbezeichnung; set => objektbezeichnung = value; }
public EObjektArt ObjektArt { get => objektArt; set => objektArt = value; }
public string Entwaesserungsart { get => entwaesserungsart; set => entwaesserungsart = value; }
public Kante Kante { get => kante; set => kante = value; }
public Geometrie Geometrie { get => geometrie; set => geometrie = value; }
internal Knoten Knoten { get => knoten; set => knoten = value; }
}
}

View File

@@ -0,0 +1,19 @@
namespace XMLParser
{
public class Anschlussdaten
{
string objektbezeichnung;
EKantenTyp kantentyp;
decimal entfernung;
string anschlussArt;
string fixierung;
string kommentar;
public string Objektbezeichnung { get => objektbezeichnung; set => objektbezeichnung = value; }
public EKantenTyp Kantentyp { get => kantentyp; set => kantentyp = value; }
public decimal Entfernung { get => entfernung; set => entfernung = value; }
public string AnschlussArt { get => anschlussArt; set => anschlussArt = value; }
public string Fixierung { get => fixierung; set => fixierung = value; }
public string Kommentar { get => kommentar; set => kommentar = value; }
}
}

View File

@@ -0,0 +1,9 @@
namespace XMLParser
{
internal class Anschlusspunkt
{
string punktkennung;
public string Punktkennung { get => punktkennung; set => punktkennung = value; }
}
}

52
XMLParser/Enums.cs Normal file
View File

@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XMLParser
{
public enum EAnlagetyp
{
Haltung = 1,
Anschlussleitung = 2,
Schacht = 3,
Bauwerk = 4
}
public enum EInspektionverfahren
{
TVUntersuchung,
Begehung,
VomSchacht,
Other
}
public enum EWetter
{
KEINNIEDERSCHLAG = 1,
REGEN = 2,
SCHNEE = 3
}
public enum ERohrleitungstyp
{
HALTUNG,
LEITUNG
}
public enum EObjektArt
{
KANTE = 1,
KNOTEN = 2
}
public enum EKnotenTyp
{
SCHACHT = 0,
ANSCHLUSSPUNKT = 1,
BAUWERK = 2
}
public enum EKantenTyp
{
HALTUNG,
LEITUNG,
RINNE,
GERINNE
}
}

24
XMLParser/Geometrie.cs Normal file
View File

@@ -0,0 +1,24 @@
namespace XMLParser
{
public class Geometrie
{
Geometriedaten geometriedaten;
PolyKanteAttribute rap1;
PolyKanteAttribute rap2;
public Geometriedaten Geometriedaten
{
get
{
return geometriedaten;
}
set
{
geometriedaten = value;
}
}
public PolyKanteAttribute Rap1 { get => rap1; set => rap1 = value; }
public PolyKanteAttribute Rap2 { get => rap2; set => rap2 = value; }
}
}

View File

@@ -0,0 +1,21 @@
using System.Collections.Generic;
namespace XMLParser
{
public class Geometriedaten
{
List<PolyKante> kanten;
public List<PolyKante> Kanten
{
get
{
return kanten;
}
set
{
kanten = value;
}
}
}
}

View File

@@ -0,0 +1,83 @@
namespace XMLParser
{
public sealed class InspizierteAbwassertechnischeAnlage
{
string objektbezeichnung;
Lage lage;
Kante kante;
Geometrie geometrie;
EAnlagetyp anlagentyp;
OptischeInspektion optischeInspektion;
public string Objektbezeichnung
{
get
{
return objektbezeichnung;
}
set
{
objektbezeichnung = value;
}
}
public Kante Kante
{
get
{
return kante;
}
set
{
kante = value;
}
}
public Geometrie Geometrie
{
get
{
return geometrie;
}
set
{
geometrie = value;
}
}
public EAnlagetyp Anlagentyp
{
get
{
return anlagentyp;
}
set
{
anlagentyp = value;
}
}
public OptischeInspektion OptischeInspektion
{
get
{
return optischeInspektion;
}
set
{
optischeInspektion = value;
}
}
public Lage Lage
{
get
{
return lage;
}
set
{
lage = value;
}
}
public override string ToString()
{
return objektbezeichnung;
}
}
}

21
XMLParser/Kante.cs Normal file
View File

@@ -0,0 +1,21 @@
namespace XMLParser
{
public class Kante
{
decimal sohlhoeheZulauf;
decimal sohlhoeheAblauf;
string knotenZulauf;
string knotenAblauf;
int knotenAblaufTyp;
int knotenZulaufTyp;
bool isFiktiveLeitung = true;
public decimal SohlhoeheZulauf { get => sohlhoeheZulauf; set => sohlhoeheZulauf = value; }
public decimal SohlhoeheAblauf { get => sohlhoeheAblauf; set => sohlhoeheAblauf = value; }
public string KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; }
public string KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; }
public int KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; }
public int KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; }
public bool IsFiktiveLeitung { get => isFiktiveLeitung; set => isFiktiveLeitung = value; }
}
}

11
XMLParser/Knoten.cs Normal file
View File

@@ -0,0 +1,11 @@
namespace XMLParser
{
internal class Knoten
{
EKnotenTyp knotenTyp;
Anschlusspunkt anschlusspunkt;
public EKnotenTyp KnotenTyp { get => knotenTyp; set => knotenTyp = value; }
internal Anschlusspunkt Anschlusspunkt { get => anschlusspunkt; set => anschlusspunkt = value; }
}
}

36
XMLParser/Lage.cs Normal file
View File

@@ -0,0 +1,36 @@
namespace XMLParser
{
public class Lage
{
string strassename;
string ortname;
public string Strassename
{
get
{
return strassename;
}
set
{
strassename = value;
}
}
public string Ortname
{
get
{
return ortname;
}
set
{
ortname = value;
}
}
public Lage(string strassename, string ortname)
{
this.strassename = strassename;
this.ortname = ortname;
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
namespace XMLParser
{
public class OptischeInspektion
{
DateTime inspektionstime;
Rohrleitung rohrleitung;
public DateTime Inspektionstime
{
set
{
inspektionstime = value;
}
get
{
return inspektionstime;
}
}
public string Inspektionsdatum
{
get
{
return inspektionstime.ToShortDateString();
}
/*set
{
throw new NotImplementedException();
//inspektionsdatum = value;
}*/
}
public string Inspektionszeit
{
get
{
return inspektionstime.ToShortTimeString();
}
}
public Rohrleitung Rohrleitung
{
get
{
return rohrleitung;
}
set
{
rohrleitung = value;
}
}
}
}

25
XMLParser/PolyKante.cs Normal file
View File

@@ -0,0 +1,25 @@
using System.Collections.Generic;
namespace XMLParser
{
public class PolyKante
{
PolyKanteAttribute start;
PolyKanteAttribute ende;
public PolyKanteAttribute Start { get => start; set => start = value; }
public PolyKanteAttribute Ende { get => ende; set => ende = value; }
}
public class PolyKanteAttribute
{
decimal rechtswert;
decimal hochwert;
decimal punkthoehe;
string punktattributAbwasser;
public decimal Rechtswert { get => rechtswert; set => rechtswert = value; }
public decimal Hochwert { get => hochwert; set => hochwert = value; }
public decimal Punkthoehe { get => punkthoehe; set => punkthoehe = value; }
public string PunktattributAbwasser { get => punktattributAbwasser; set => punktattributAbwasser = value; }
}
}

46
XMLParser/RGrunddaten.cs Normal file
View File

@@ -0,0 +1,46 @@
namespace XMLParser
{
public class RGrunddaten
{
string knotenZulauf;
EKnotenTyp knotenZulaufTyp;
string knotenAblauf;
EKnotenTyp knotenAblaufTyp;
int profilhoehe;
int profilbreite;
int profilart;
string material;
string kanalart;
Anschlussdaten anschlussddaten = null;
int herkunftProfilmasse;
int herkunftMaterial;
decimal regeleinzelrohrlaenge;
int artAuskleidung;
string innenschutz;
public string KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; }
public EKnotenTyp KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; }
public string KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; }
public EKnotenTyp KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; }
public int Profilhoehe { get => profilhoehe; set => profilhoehe = value; }
public int Profilbreite { get => profilbreite; set => profilbreite = value; }
public int Profilart { get => profilart; set => profilart = value; }
public string Material { get => material; set => material = value; }
public string Kanalart { get => kanalart; set => kanalart = value; }
public Anschlussdaten Anschlussddaten { get => anschlussddaten; set => anschlussddaten = value; }
public int HerkunftProfilmasse { get => herkunftProfilmasse; set => herkunftProfilmasse = value; }
public int HerkunftMaterial { get => herkunftMaterial; set => herkunftMaterial = value; }
public decimal Regeleinzelrohrlaenge { get => regeleinzelrohrlaenge; set => regeleinzelrohrlaenge = value; }
public int ArtAuskleidung { get => artAuskleidung; set => artAuskleidung = value; }
public bool HasGrundleitung
{
get
{
return anschlussddaten != null;
}
}
public string Innenschutz { get => innenschutz; set => innenschutz = value; }
}
}

45
XMLParser/RZustand.cs Normal file
View File

@@ -0,0 +1,45 @@
namespace XMLParser
{
public struct Quantifizierung
{
public decimal Numerisch;
public string Text;
public override string ToString()
{
if (Text != null)
return Text;
if (Numerisch == 0)
return "";
return Numerisch.ToString();
}
}
public class RZustand
{
decimal station;
string inspektionskode;
string charakterisierung1;
string charakterisierung2;
bool verbindung;
Quantifizierung quantifizierung1;
Quantifizierung quantifizierung2;
string streckenschaden;
int streckenschadennr;
int positionVon;
int positionBis;
string kommentar;
public decimal Station { get => station; set => station = value; }
public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; }
public string Charakterisierung1 { get => charakterisierung1; set => charakterisierung1 = value; }
public string Charakterisierung2 { get => charakterisierung2; set => charakterisierung2 = value; }
public bool Verbindung { get => verbindung; set => verbindung = value; }
public Quantifizierung Quantifizierung1 { get => quantifizierung1; set => quantifizierung1 = value; }
public Quantifizierung Quantifizierung2 { get => quantifizierung2; set => quantifizierung2 = value; }
public string Streckenschaden { get => streckenschaden; set => streckenschaden = value; }
public int Streckenschadennr { get => streckenschadennr; set => streckenschadennr = value; }
public int PositionVon { get => positionVon; set => positionVon = value; }
public int PositionBis { get => positionBis; set => positionBis = value; }
public string Kommentar { get => kommentar; set => kommentar = value; }
}
}

76
XMLParser/Rohrleitung.cs Normal file
View File

@@ -0,0 +1,76 @@
using System.Collections.Generic;
namespace XMLParser
{
public class Rohrleitung
{
ERohrleitungstyp rohrleitungstyp;
decimal inspektionslaenge;
string inspektionsrichtung;
RGrunddaten grunddaten = null;
List<RZustand> zustaende = null;
public ERohrleitungstyp Rohrleitungstyp
{
get
{
return rohrleitungstyp;
}
set
{
rohrleitungstyp = value;
}
}
public decimal Inspektionslaenge
{
get
{
return inspektionslaenge;
}
set
{
inspektionslaenge = value;
}
}
public string Inspektionsrichtung
{
get
{
switch(inspektionsrichtung)
{
case "U": return "Gegen Fliessrichtung";
case "O": return "In Fliessrichtung";
default: return "Fliessrichtungangabe nicht bekannt(" + inspektionsrichtung + ")";
}
}
set
{
inspektionsrichtung = value;
}
}
public List<RZustand> Zustaende
{
get
{
return zustaende;
}
set
{
zustaende = value;
}
}
public RGrunddaten Grunddaten
{
get
{
return grunddaten;
}
set
{
grunddaten = value;
}
}
}
}

146
XMLParser/XMLParser.cs Normal file
View File

@@ -0,0 +1,146 @@
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace XMLParser
{
public static class XMLParser
{
public static void LoadFile(string xmldatei) {
List<AbwassertechnischeAnlage> Stammdaten = new List<AbwassertechnischeAnlage>();
List<InspizierteAbwassertechnischeAnlage> Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
XmlDocument doc = new XmlDocument();
doc.Load(xmldatei);
XmlNode rootChild = doc.LastChild;
XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
manager.AddNamespace("e", "http://www.ofd-hannover.la/Identifikation");
XmlNode root = rootChild.SelectSingleNode("//e:Datenkollektive", manager);
Stammdaten = LoadStammdatenCollectiv(manager, root);
Inspektionsdaten = LoadInspektionsdatenCollectiv(manager,root);
}
private static List<InspizierteAbwassertechnischeAnlage> LoadInspektionsdatenCollectiv(XmlNamespaceManager manager, XmlNode root)
{
List<InspizierteAbwassertechnischeAnlage> result = new List<InspizierteAbwassertechnischeAnlage>();
XmlNode zstdk = root.SelectSingleNode("//e:Zustandsdatenkollektiv", manager);
XmlNodeList Inspektionsdaten = zstdk.SelectNodes("//e:InspizierteAbwassertechnischeAnlage", manager);
foreach(XmlNode node in Inspektionsdaten) {
result.Add(ParseInspektion(node));
}
return result;
}
private static InspizierteAbwassertechnischeAnlage ParseInspektion(XmlNode node)
{
XmlNode intOptischeInspektion = null;
//XmlNode intRohrleitung = null;
//XmlNode intRGrunddaten = null;
//XmlNode intInspektionsdaten = null;
XmlNode intKanten = null;
XmlNode intGeometrie = null;
InspizierteAbwassertechnischeAnlage result = new InspizierteAbwassertechnischeAnlage();
foreach (XmlNode d in node.ChildNodes)
{
switch (d.Name)
{
case "Objektbezeichnung":
result.Objektbezeichnung = d.InnerText;
// if (d.InnerText.Equals("44903796")) Debugger.Break();
break;
case "Anlagentyp":
result.Anlagentyp = (EAnlagetyp)Convert.ToInt32(d.InnerText); //anlagentyp = Convert.ToInt32(d.InnerText);
break;
case "Kante":
intKanten = d;
//Debugger.Break();
break;
case "Geometrie":
intGeometrie = d;
break;
case "Lage":
//throw new NotImplementedException();
if (!d.HasChildNodes) break;
string strassename ="";
string ortname = "";
foreach (XmlNode _temp in d.ChildNodes)
{
switch (_temp.Name)
{
case "Strassenname": strassename = _temp.InnerText; break;
case "Ortsteilname": ortname = _temp.InnerText; break;
case "LageOberflaeche": break;
default: break;
//default: throw new NotImplementedException(_temp.Name);
}
}
result.Lage = new Lage(strassename, ortname);
break;
case "OptischeInspektion":
intOptischeInspektion = d;
break;
}
}
return result;
}
private static List<AbwassertechnischeAnlage> LoadStammdatenCollectiv(XmlNamespaceManager manager,XmlNode root)
{
List<AbwassertechnischeAnlage> result = new List<AbwassertechnischeAnlage>();
XmlNode zstdk = root.SelectSingleNode("//e:Stammdatenkollektiv", manager);
XmlNodeList Stammdaten = zstdk.SelectNodes("//e:AbwassertechnischeAnlage", manager);
foreach(XmlNode node in Stammdaten)
{
result.Add(ParseStammdaten(node));
}
return result;
}
private static AbwassertechnischeAnlage ParseStammdaten(XmlNode node)
{
AbwassertechnischeAnlage result = new AbwassertechnischeAnlage();
foreach(XmlNode aktuell in node.ChildNodes)
{
switch(aktuell.Name)
{
case "Objektbezeichnung":result.Objektbezeichnung = aktuell.InnerText;break;
case "Objektart":result.ObjektArt = (EObjektArt)Convert.ToInt32(aktuell.InnerText); break;
case "Entwaesserungsart":result.Entwaesserungsart = aktuell.InnerText;break;
case "Knoten":result.Knoten = parseStammdatenKnoten(aktuell); break;
case "Lage":
break;
}
}
return result;
}
private static Knoten parseStammdatenKnoten(XmlNode aktuell)
{
Knoten result = new Knoten();
foreach(XmlNode s in aktuell.ChildNodes)
{
switch(s.Name)
{
case "KnotenTyp": result.KnotenTyp = (EKnotenTyp)Convert.ToInt32(s.InnerText);break;
case "Anschlusspunkt": result.Anschlusspunkt = new Anschlusspunkt() { Punktkennung = s.InnerText }; break;
}
}
return result;
}
}
}

View File

@@ -0,0 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,14 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace XMLParserTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
XMLParser.XMLParser.LoadFile("input.xml");
}
}
}

View File

@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
<PackageReference Include="MSTest.TestAdapter" Version="2.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="2.1.1" />
<PackageReference Include="coverlet.collector" Version="1.3.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\XMLParser\XMLParser.csproj" />
</ItemGroup>
</Project>