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,
|
||||
GESAMTUMSATZ
|
||||
}
|
||||
public enum EWasserhaltung {
|
||||
NONE=1,
|
||||
OBERHALB,
|
||||
TEILOBERHALB,
|
||||
SEITENZULAUFE,
|
||||
UNTERHALB,
|
||||
OTHER
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,14 @@ namespace XMLParser
|
||||
{
|
||||
public class OptischeInspektion
|
||||
{
|
||||
int auftragskennung;
|
||||
DateTime inspektionstime;
|
||||
Rohrleitung rohrleitung;
|
||||
string nameUntersucher;
|
||||
EWetter wetter;
|
||||
bool reinigung;
|
||||
EWasserhaltung wasserhaltung;
|
||||
EInspektionverfahren inspektionsverfahren;
|
||||
|
||||
public DateTime Inspektionstime
|
||||
{
|
||||
@@ -48,5 +54,11 @@ namespace XMLParser
|
||||
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
|
||||
{
|
||||
private string xmlFile;
|
||||
private List<AbwassertechnischeAnlage> stammdaten = null;
|
||||
private List<InspizierteAbwassertechnischeAnlage> inspektionsdaten = null;
|
||||
private XmlNamespaceManager manager = null;
|
||||
@@ -18,13 +19,14 @@ namespace XMLParser
|
||||
private Queue<AbwassertechnischeAnlage> QueueToRebuild = new Queue<AbwassertechnischeAnlage>();
|
||||
|
||||
public List<KanalObjekt> KanalObjekte { get => kanalObjekte; private set => kanalObjekte = value; }
|
||||
|
||||
public XMLParse(string xmlfile)
|
||||
public string XmlFile {get => xmlFile; private set => xmlFile = value;}
|
||||
public XMLParse(string xmltoparse)
|
||||
{
|
||||
XmlFile = xmltoparse;
|
||||
KanalObjekte = new List<KanalObjekt>();
|
||||
stammdaten = new List<AbwassertechnischeAnlage>();
|
||||
inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
||||
ParseFile(xmlfile);
|
||||
ParseFile();
|
||||
RebuildStammdaten();
|
||||
}
|
||||
|
||||
@@ -40,13 +42,11 @@ namespace XMLParser
|
||||
}
|
||||
}
|
||||
|
||||
private void ParseFile(string xmldatei)
|
||||
private void ParseFile()
|
||||
{
|
||||
Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile(xmldatei);
|
||||
stammdaten = src.Item1;//.FindAll(x => x.ObjektArt.Equals(EObjektArt.KNOTEN));
|
||||
Tuple<List<AbwassertechnischeAnlage>,List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile();
|
||||
stammdaten = src.Item1;
|
||||
inspektionsdaten = src.Item2;
|
||||
|
||||
//kanalObjekte = new List<KanalObjekt>();
|
||||
foreach(InspizierteAbwassertechnischeAnlage iat in inspektionsdaten) {
|
||||
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//;
|
||||
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<InspizierteAbwassertechnischeAnlage> Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
||||
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.Load(xmldatei);
|
||||
doc.Load(XmlFile);
|
||||
rootChild = doc.LastChild;
|
||||
|
||||
manager = new XmlNamespaceManager(doc.NameTable);
|
||||
@@ -93,15 +93,9 @@ namespace XMLParser
|
||||
{
|
||||
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 "Objektbezeichnung": result.Objektbezeichnung = d.InnerText; break;
|
||||
case "Anlagentyp": result.Anlagentyp = (EAnlagetyp)Convert.ToInt32(d.InnerText); break;
|
||||
case "Lage":
|
||||
//throw new NotImplementedException();
|
||||
if (!d.HasChildNodes) break;
|
||||
string strassename ="";
|
||||
string ortname = "";
|
||||
@@ -112,15 +106,14 @@ namespace XMLParser
|
||||
case "Strassenname": strassename = _temp.InnerText; break;
|
||||
case "Ortsteilname": ortname = _temp.InnerText; break;
|
||||
case "LageOberflaeche": break;
|
||||
default: break;
|
||||
//default: throw new NotImplementedException(_temp.Name);
|
||||
case "Strassenschluessel": break;
|
||||
case "Ortsteilschluessel": break;
|
||||
default: throw new NotImplementedException(_temp.Name);
|
||||
}
|
||||
}
|
||||
result.Lage = new Lage(strassename, ortname);
|
||||
break;
|
||||
case "OptischeInspektion":
|
||||
result.OptischeInspektion = parseOptischeInspektion(d);
|
||||
break;
|
||||
case "OptischeInspektion": result.OptischeInspektion = parseOptischeInspektion(d); break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@@ -135,27 +128,18 @@ namespace XMLParser
|
||||
{
|
||||
switch(node.Name)
|
||||
{
|
||||
case "Auftragskennung":
|
||||
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);
|
||||
case "Auftragskennung": result.Auftragskennung = Convert.ToInt32(node.InnerText);
|
||||
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);
|
||||
@@ -352,12 +336,26 @@ namespace XMLParser
|
||||
break;
|
||||
case "Lage":
|
||||
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;
|
||||
}
|
||||
|
||||
private Geometrie parseGeometrie(XmlNode aktuell)
|
||||
{
|
||||
|
||||
return new Geometrie();
|
||||
//throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private Kante parseKante(XmlNode aktuell)
|
||||
{
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user