gpx 파일을 클래스로 deserialize하려고하는데 문제가 있습니다. Xml2CSharp에 gpx 파일 텍스트를 입력하고 그런 식으로 클래스를 생성 해 보았습니다. 그러나 올바른지 확실하지 않습니다 (http://xmltocsharp.azurewebsites.net/). 디버거를 사용할 때 gpx는 null입니다. 누군가 내가 잘못하고있는 것에 대해 통찰력을 줄 수 있습니까? 감사.Xml Deserializer가 gpx 파일에 작동하지 않습니다.
GPX 텍스트 :
<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.0">
<trk>
<trkseg>
<start lat="37.48996833333333" lon="-122.20991333333335">
<ele>127.1</ele>
<time>2017-11-07T02:53:07Z</time>
</start>
<trkpt lat="37.48996833333333" lon="-122.20991333333335">
<ele>127.1</ele>
<time>2017-11-07T02:53:07Z</time>
</trkpt>
<trkpt lat="37.48996833333333" lon="-122.20991333333335">
<ele>127.1</ele>
<time>2017-11-07T02:53:07Z</time>
</trkpt>
</trkseg>
</trk>
</gpx>
현재 클래스 :
public class XmlSerializeGpx
{
public Gpx gpx { get; set; }
public class Start
{
public string Ele { get; set; }
public string Time { get; set; }
public string Lat { get; set; }
public string Lon { get; set; }
}
public class Trkpt
{
public string Ele { get; set; }
public string Time { get; set; }
public string Lat { get; set; }
public string Lon { get; set; }
}
public class Trkseg
{
public Start Start { get; set; }
public List<Trkpt> Trkpt { get; set; }
}
public class Trk
{
public Trkseg Trkseg { get; set; }
}
public class Gpx
{
public Trk Trk { get; set; }
public string Xmlns { get; set; }
public string Version { get; set; }
}
}
이 내 디시리얼라이저입니다 : 당신은, 대소 문자가 정확받을 필요가
XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "gpx";
xRoot.Namespace = gpxNs.NamespaceName;
xRoot.IsNullable = true;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(XmlSerializeGpx),xRoot);
FileStream fs = new FileStream(file.Path, FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
XmlSerializeGpx gpxObj;
gpxObj = (XmlSerializeGpx)xmlSerializer.Deserialize(reader);
fs.Close();
http://xmltocsharp.azurewebsites.net/? –
네, 제 XML 파일을 C# 클래스로 변환하려고했습니다. – HelpinCodingpls