【发布时间】:2012-08-07 10:26:11
【问题描述】:
有没有办法将动态创建的对象序列化为 xml 字符串?
var foobar = new { foo = "bar" };
string xml = ConvertToXMLString(foobar);
//xml should be something like :
//<foo>bar</foo>
我可以查看 XMLSerializer 和 DataContractSerializer,但 XMLSerializer 需要对象类型,而 DataContractSerializer 需要需要序列化的属性的属性。
出于绝望,我先将对象转换为 JSON,然后从 JSON 将其转换为 XML。
var foobar = new { foo = "bar" };
JavaScriptSerializer js = new JavaScriptSerializer();
jsonString = js.Serialize(values);
//Json.NET at http://json.codeplex.com/
XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonString);
【问题讨论】:
-
"
dynamic" 对象不同:new {..}产生静态类型表达式。 -
感谢您指出这一点。我搞混了这些术语。
-
很好地调用 hack 来转换为 JSON,然后是 XML =)
标签: .net xml json xml-serialization