2014-11-27 5 views
0

Serialzation 후, 객체를 문자열로 내가 현재 XMLXmlSerializer를이 - 문자열 객체가 "P2 : 빈 채로"반환하는 대신 XSI의 : 빈 채로

<obj> 
    ... 
    <field p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance"/> 
    ... 
    </obj> 
을 얻고있다

분야 그래서 내가 널 (NULL) 기다리는 xsi : nill, 대신 p2 : nill 왜?

+0

개체를 게시 할 수 있습니까? –

+2

그들은 실제로'xsi'가 단지 이름 일 때와 똑같습니다.'http : // www.w3.org/2001/XMLSchema-instance'에 공통적으로 사용됩니다. –

+1

필요하지 않습니다. to'xsi '. 당신의 예제에서'p2'는 같은 것입니다. –

답변

0

임의의 (ish) 이름이 적용되지 않으면 XmlSerializer를 빌드 할 때 네임 스페이스를 제어 할 수 있습니다. 이 같은 것이 있는지 확인해보십시오

var ns = new XmlSerializerNamespaces(); 
ns.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance"); 

var ser = new XmlSerializer(typeof(AnEntity)); 
ser.Serialize(Console.Out, new AnEntity(), ns);