Как десериализовать пространства имен в классы - PullRequest
0 голосов
/ 07 октября 2011

Мне нужно десериализовать XML, такой как этот:

<?xml version="1.0" encoding="utf-8"?>
<ns0:Info xmlns:ns0="http://www.x.com/">
 <Name>Anthony</Name>
 <Job>Developer</Job>
</ns0:Info>

Я создал класс из документа XSD с помощью инструмента XSD, но он не распознает NAMESPACES.Как я мог это сделать?Как я могу изменить класс, чтобы распознать их?Стоит ли менять XSD вместо этого?

Заранее спасибо

1 Ответ

1 голос
/ 07 октября 2011
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

//Add an empty namespace and empty value
ns.Add("", "");

//Create the serializer
XmlSerializer slz = new XmlSerializer(someType);

//Serialize the object with our own namespaces (notice the overload)
slz.Serialize(myXmlTextWriter, someObject, ns);
...