DrillPoint PointParse(string line) { DrillPoint dp = new DrillPoint(); string[] parts = line.Split(' '); foreach (string p in parts) { if (p.Contains(CXElement)) { dp.X = Convert.ToDouble(GetNumber(p)); } else if (p.Contains(CYElement)) { dp.Y = Convert.ToDouble(GetNumber(p)); } else if (p.Contains(RadiusElement)) { dp.R = Convert.ToDouble(GetNumber(p)); } } return(dp); }
public SvgData(string filePath) { //Open svg file into xml object XElement svgDoc = XElement.Load(filePath); foreach (XElement xe in svgDoc.Elements()) { switch (xe.Name.LocalName) { case SVGEntry: { IEnumerable <XAttribute> xat = xe.Attributes(); foreach (XAttribute xa in xat) { switch (xa.Name.LocalName) { case WidthElement: { pMap.PixWidth = Convert.ToInt32(xa.Value); break; }; case HeightElement: { pMap.PixHeight = Convert.ToInt32(xa.Value); break; } } } break; }; case CircleEntry: { IEnumerable <XAttribute> xat = xe.Attributes(); DrillPoint dp = new DrillPoint(); foreach (XAttribute a in xat) { switch (a.Name.LocalName) { case CXElement: { dp.X = Convert.ToDouble(a.Value); break; }; case CYElement: { dp.Y = Convert.ToDouble(a.Value); break; } case RadiusElement: { dp.R = Convert.ToDouble(a.Value); break; } } } dPoints.Add(dp); break; }; case PathEntry: { IEnumerable <XAttribute> xat = xe.Attributes(); foreach (XAttribute xa in xat) { switch (xa.Name.LocalName) { case DrawElement: { Point dp = PathParse(xa.Value); pMap.PixHeight = dp.Y; pMap.PixWidth = dp.X; break; } } } ; break; } //else no line or something unexpected... Continue } } }