Это пример XML-файла:
<?xml version="1.0" encoding="UTF-8"?>
<xsd_1:Message xmlns:xsd_1="http://www.ncpdp.org/schema/SCRIPT" version="010" release="006" HighestVersionSupported="010">
<xsd_1:Patient>
<xsd_1:FirstName>Dante</xsd_1:FirstName>
</xsd_1:Patient>
</xsd_1:Message>
Это файл класса:
[XmlRoot(ElementName = "Patient", Namespace = "http://www.ncpdp.org/schema/SCRIPT")]
public class Patient {
[XmlElement(ElementName = "FirstName", Namespace = "xsd_1")]
public string FirstName {
get;
set;
}
}
Это код, который десериализует:
XmlDocument doc = new XmlDocument();
doc.LoadXml(request.Input);
XmlSerializer serializer = new XmlSerializer(typeof(WebApiDemo.Models.Patient), "xsd_1");
using(TextReader reader = new StringReader(doc.DocumentElement.ChildNodes[0].OuterXml)) {
var patient = (WebApiDemo.Models.Patient) serializer.Deserialize(reader);
}
Когда ясм. объект FirstName Inside Person, он имеет значение null.
Раньше, когда xml был без префикса, вышеприведенный код работал
Ваша помощь высоко ценилась.