Reputation: 7950
I'm pretty sure this has been asked and answered I just can't find it
I'm trying to deserialize XML into POCOs.
This is the part im struggling with
<Trias version="1.1" xmlns="http://www.vdv.de/trias" xmlns:siri="http://www.siri.org.uk/siri"
This is my entire XML:
<?xml version="1.0" encoding="UTF-8"?>
<Trias version="1.1" xmlns="http://www.vdv.de/trias" xmlns:siri="http://www.siri.org.uk/siri" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceRequest>
<siri:RequestTimestamp>2012-10-28T20:56:00Z</siri:RequestTimestamp>
<siri:RequestorRef>SEUS</siri:RequestorRef>
<RequestPayload>
<TripRequest>
<Origin>
<LocationRef>
<StopPointRef>8500320</StopPointRef>
</LocationRef>
<DepArrTime>2018-10-09T08:05:51</DepArrTime>
</Origin>
<Destination>
<LocationRef>
<StopPointRef>8500322</StopPointRef>
</LocationRef>
<DepArrTime>2018-10-09T08:05:51</DepArrTime>
</Destination>
<Params>
<NumberOfResults>1</NumberOfResults>
<IncludeTrackSections>true</IncludeTrackSections>
<IncludeLegProjection>true</IncludeLegProjection>
<IncludeIntermediateStops>true</IncludeIntermediateStops>
</Params>
</TripRequest>
</RequestPayload>
</ServiceRequest>
</Trias>
How do I model the xmlns:siri
in C#? My Class looks like this:
[XmlRoot(nameof(Trias), Namespace = "http://www.vdv.de/trias")]
public class Trias
{
[XmlAttribute("version")]
public string Version { get; set; }
[XmlAttribute("xmlns")]
public string Xmlns { get; set; }
[XmlAttribute("siri")]
public string Siri { get; set; }
}
Upvotes: 0
Views: 1291
Reputation: 9771
Try to change your XmlAttribute
for property Siri
from [XmlAttribute("siri")]
to [XmlAttribute(Namespace = "http://www.siri.org.uk/siri")]
[XmlRoot(nameof(Trias), Namespace = "http://www.vdv.de/trias")]
public class Trias
{
[XmlAttribute("version")]
public string Version { get; set; }
[XmlAttribute("xmlns")]
public string Xmlns { get; set; }
[XmlAttribute(Namespace = "http://www.siri.org.uk/siri")]
public string Siri { get; set; }
}
Upvotes: 1