Parser erweitert
This commit is contained in:
4205
KS_Oldenburg_Alexandersfeld.xml
Normal file
4205
KS_Oldenburg_Alexandersfeld.xml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -76,4 +76,12 @@ namespace XMLParser
|
|||||||
LAENGEZULAGEUMSATZ,
|
LAENGEZULAGEUMSATZ,
|
||||||
GESAMTUMSATZ
|
GESAMTUMSATZ
|
||||||
}
|
}
|
||||||
|
public enum EWasserhaltung {
|
||||||
|
NONE=1,
|
||||||
|
OBERHALB,
|
||||||
|
TEILOBERHALB,
|
||||||
|
SEITENZULAUFE,
|
||||||
|
UNTERHALB,
|
||||||
|
OTHER
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,14 @@ namespace XMLParser
|
|||||||
{
|
{
|
||||||
public class OptischeInspektion
|
public class OptischeInspektion
|
||||||
{
|
{
|
||||||
|
int auftragskennung;
|
||||||
DateTime inspektionstime;
|
DateTime inspektionstime;
|
||||||
Rohrleitung rohrleitung;
|
Rohrleitung rohrleitung;
|
||||||
|
string nameUntersucher;
|
||||||
|
EWetter wetter;
|
||||||
|
bool reinigung;
|
||||||
|
EWasserhaltung wasserhaltung;
|
||||||
|
EInspektionverfahren inspektionsverfahren;
|
||||||
|
|
||||||
public DateTime Inspektionstime
|
public DateTime Inspektionstime
|
||||||
{
|
{
|
||||||
@@ -48,5 +54,11 @@ namespace XMLParser
|
|||||||
rohrleitung = value;
|
rohrleitung = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public string NameUntersucher { get => nameUntersucher; set => nameUntersucher = value; }
|
||||||
|
public EWetter Wetter { get => wetter; set => wetter = value; }
|
||||||
|
public bool Reinigung { get => reinigung; set => reinigung = value; }
|
||||||
|
public EWasserhaltung Wasserhaltung { get => wasserhaltung; set => wasserhaltung = value; }
|
||||||
|
public EInspektionverfahren Inspektionsverfahren { get => inspektionsverfahren; set => inspektionsverfahren = value; }
|
||||||
|
public int Auftragskennung { get => auftragskennung; set => auftragskennung = value; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace XMLParser
|
|||||||
{
|
{
|
||||||
public class XMLParse
|
public class XMLParse
|
||||||
{
|
{
|
||||||
|
private string xmlFile;
|
||||||
private List<AbwassertechnischeAnlage> stammdaten = null;
|
private List<AbwassertechnischeAnlage> stammdaten = null;
|
||||||
private List<InspizierteAbwassertechnischeAnlage> inspektionsdaten = null;
|
private List<InspizierteAbwassertechnischeAnlage> inspektionsdaten = null;
|
||||||
private XmlNamespaceManager manager = null;
|
private XmlNamespaceManager manager = null;
|
||||||
@@ -18,13 +19,14 @@ namespace XMLParser
|
|||||||
private Queue<AbwassertechnischeAnlage> QueueToRebuild = new Queue<AbwassertechnischeAnlage>();
|
private Queue<AbwassertechnischeAnlage> QueueToRebuild = new Queue<AbwassertechnischeAnlage>();
|
||||||
|
|
||||||
public List<KanalObjekt> KanalObjekte { get => kanalObjekte; private set => kanalObjekte = value; }
|
public List<KanalObjekt> KanalObjekte { get => kanalObjekte; private set => kanalObjekte = value; }
|
||||||
|
public string XmlFile {get => xmlFile; private set => xmlFile = value;}
|
||||||
public XMLParse(string xmlfile)
|
public XMLParse(string xmltoparse)
|
||||||
{
|
{
|
||||||
|
XmlFile = xmltoparse;
|
||||||
KanalObjekte = new List<KanalObjekt>();
|
KanalObjekte = new List<KanalObjekt>();
|
||||||
stammdaten = new List<AbwassertechnischeAnlage>();
|
stammdaten = new List<AbwassertechnischeAnlage>();
|
||||||
inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
||||||
ParseFile(xmlfile);
|
ParseFile();
|
||||||
RebuildStammdaten();
|
RebuildStammdaten();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,13 +42,11 @@ namespace XMLParser
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ParseFile(string xmldatei)
|
private void ParseFile()
|
||||||
{
|
{
|
||||||
Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile(xmldatei);
|
Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile();
|
||||||
stammdaten = src.Item1;//.FindAll(x => x.ObjektArt.Equals(EObjektArt.KNOTEN));
|
stammdaten = src.Item1;
|
||||||
inspektionsdaten = src.Item2;
|
inspektionsdaten = src.Item2;
|
||||||
|
|
||||||
//kanalObjekte = new List<KanalObjekt>();
|
|
||||||
foreach(InspizierteAbwassertechnischeAnlage iat in inspektionsdaten) {
|
foreach(InspizierteAbwassertechnischeAnlage iat in inspektionsdaten) {
|
||||||
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//;
|
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//;
|
||||||
KanalObjekte.Add(new KanalObjekt() {
|
KanalObjekte.Add(new KanalObjekt() {
|
||||||
@@ -56,12 +56,12 @@ namespace XMLParser
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> LoadRawFile(string xmldatei) {
|
private Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> LoadRawFile() {
|
||||||
List<AbwassertechnischeAnlage> Stammdaten = new List<AbwassertechnischeAnlage>();
|
List<AbwassertechnischeAnlage> Stammdaten = new List<AbwassertechnischeAnlage>();
|
||||||
List<InspizierteAbwassertechnischeAnlage> Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
List<InspizierteAbwassertechnischeAnlage> Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
||||||
|
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
doc.Load(xmldatei);
|
doc.Load(XmlFile);
|
||||||
rootChild = doc.LastChild;
|
rootChild = doc.LastChild;
|
||||||
|
|
||||||
manager = new XmlNamespaceManager(doc.NameTable);
|
manager = new XmlNamespaceManager(doc.NameTable);
|
||||||
@@ -93,15 +93,9 @@ namespace XMLParser
|
|||||||
{
|
{
|
||||||
switch (d.Name)
|
switch (d.Name)
|
||||||
{
|
{
|
||||||
case "Objektbezeichnung":
|
case "Objektbezeichnung": result.Objektbezeichnung = d.InnerText; break;
|
||||||
result.Objektbezeichnung = d.InnerText;
|
case "Anlagentyp": result.Anlagentyp = (EAnlagetyp)Convert.ToInt32(d.InnerText); break;
|
||||||
// if (d.InnerText.Equals("44903796")) Debugger.Break();
|
|
||||||
break;
|
|
||||||
case "Anlagentyp":
|
|
||||||
result.Anlagentyp = (EAnlagetyp)Convert.ToInt32(d.InnerText); //anlagentyp = Convert.ToInt32(d.InnerText);
|
|
||||||
break;
|
|
||||||
case "Lage":
|
case "Lage":
|
||||||
//throw new NotImplementedException();
|
|
||||||
if (!d.HasChildNodes) break;
|
if (!d.HasChildNodes) break;
|
||||||
string strassename ="";
|
string strassename ="";
|
||||||
string ortname = "";
|
string ortname = "";
|
||||||
@@ -112,15 +106,14 @@ namespace XMLParser
|
|||||||
case "Strassenname": strassename = _temp.InnerText; break;
|
case "Strassenname": strassename = _temp.InnerText; break;
|
||||||
case "Ortsteilname": ortname = _temp.InnerText; break;
|
case "Ortsteilname": ortname = _temp.InnerText; break;
|
||||||
case "LageOberflaeche": break;
|
case "LageOberflaeche": break;
|
||||||
default: break;
|
case "Strassenschluessel": break;
|
||||||
//default: throw new NotImplementedException(_temp.Name);
|
case "Ortsteilschluessel": break;
|
||||||
|
default: throw new NotImplementedException(_temp.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result.Lage = new Lage(strassename, ortname);
|
result.Lage = new Lage(strassename, ortname);
|
||||||
break;
|
break;
|
||||||
case "OptischeInspektion":
|
case "OptischeInspektion": result.OptischeInspektion = parseOptischeInspektion(d); break;
|
||||||
result.OptischeInspektion = parseOptischeInspektion(d);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@@ -135,27 +128,18 @@ namespace XMLParser
|
|||||||
{
|
{
|
||||||
switch(node.Name)
|
switch(node.Name)
|
||||||
{
|
{
|
||||||
case "Auftragskennung":
|
case "Auftragskennung": result.Auftragskennung = Convert.ToInt32(node.InnerText);
|
||||||
break;
|
|
||||||
case "Inspektionsdatum":
|
|
||||||
datum = node.InnerText;
|
|
||||||
break;
|
|
||||||
case "Inspektionsverfahren":
|
|
||||||
break;
|
|
||||||
case "NameUntersucher":
|
|
||||||
break;
|
|
||||||
case "Uhrzeit":
|
|
||||||
time = node.InnerText;
|
|
||||||
break;
|
|
||||||
case "Wetter":
|
|
||||||
break;
|
|
||||||
case "Reinigung":
|
|
||||||
break;
|
|
||||||
case "Wasserhaltung":
|
|
||||||
break;
|
|
||||||
case "Rohrleitung":
|
|
||||||
result.Rohrleitung = parseRohrleitung(node);
|
|
||||||
break;
|
break;
|
||||||
|
case "Inspektionsdatum": datum = node.InnerText; break;
|
||||||
|
case "Inspektionsverfahren": result.Inspektionsverfahren = (EInspektionverfahren)Convert.ToInt32(node.InnerText); break;
|
||||||
|
case "NameUntersucher": result.NameUntersucher = node.InnerText; break;
|
||||||
|
case "Uhrzeit": time = node.InnerText; break;
|
||||||
|
case "Wetter": result.Wetter = (EWetter)Convert.ToInt32(node.InnerText); break;
|
||||||
|
case "Reinigung": result.Reinigung = node.InnerText.Equals("1") ? true: false; break;
|
||||||
|
case "Wasserhaltung": result.Wasserhaltung = (EWasserhaltung)Convert.ToInt32(node.InnerText); break;
|
||||||
|
case "Rohrleitung": result.Rohrleitung = parseRohrleitung(node); break;
|
||||||
|
case "Videoablagereferenz": break;
|
||||||
|
default: throw new NotImplementedException(node.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result.Inspektionstime = makeInspektionstime(datum, time);
|
result.Inspektionstime = makeInspektionstime(datum, time);
|
||||||
@@ -352,12 +336,26 @@ namespace XMLParser
|
|||||||
break;
|
break;
|
||||||
case "Lage":
|
case "Lage":
|
||||||
break;
|
break;
|
||||||
|
case "AlteObjektbezeichnung":break;
|
||||||
|
case "Status":break;
|
||||||
|
case "Baujahr":break;
|
||||||
|
case "Umweltparameter":break;
|
||||||
|
case "Kommentar": break;
|
||||||
|
case "Geometrie": result.Geometrie = parseGeometrie(aktuell); break;
|
||||||
|
default: throw new NotImplementedException(aktuell.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Geometrie parseGeometrie(XmlNode aktuell)
|
||||||
|
{
|
||||||
|
|
||||||
|
return new Geometrie();
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
private Kante parseKante(XmlNode aktuell)
|
private Kante parseKante(XmlNode aktuell)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user