JSON.NET - 我可以提示用XML解析类型吗?

问题描述:

当我使用JsonConvert.SerializeXNode或JsonConvert.SerializeXmlNode下面的代码解析XMLJSON.NET - 我可以提示用XML解析类型吗?

XElement person = XElement.Parse(@" 
    <person> 
    <name>Palle</name> 
    <member>true</member> 
    </person>"); 

string json = JsonConvert.SerializeXNode(person); 

给我这个JSON结果:

{"person":{"name":"Palle","member":"true"}} 

这件类型为字符串,我想这被打字为布尔。我可以在XML中添加类型提示(如<member type="xsd:boolean">true</member>),并让解析器接受这个提示吗?

我希望得到这样的结果,而不是:

{"person":{"name":"Palle","member":true}} 

也许是这样的:

[TestFixture] 
public class Class1 
{ 
    [Test] 
    public void DateTimeTest() 
    { 
     string xml = @"<person><name>Palle</name><member>true</member></person>"; 
     person person = xml.Deserialize<person>(); 
     var serializeXNode = JsonConvert.SerializeObject(person); 
    } 
} 

public class person 
{ 
    public string name { get; set; } 
    public bool member { get; set; } 
} 

public static class Extension 
{ 
    public static T Deserialize<T>(this string xml) 
    { 
     XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); 
     using (var stringReader = new StringReader(xml)) 
     { 
      using (var xmlReader = XmlReader.Create(stringReader)) 
      { 
       return (T) xmlSerializer.Deserialize(xmlReader); 
      } 
     } 
    } 
}