Autodesk Vault API 类的Xml Serialization攻略
译自Vault API帮助文档中一篇 Doug Redmond写的knowledgebase article. Doug's 博客是 It's All Just Ones and Zeros你也许不知道所有Vault API 类都可以 XML 序列化 - 这意味着很容易把API对象转换为 XML 文本,反之亦然。 很多种情况下可以使用此功能,例如:
[*]它可以帮助您调试代码。如果您具有大量数据的对象,将该对象存为XML格式方便研究。
[*]如果您向ADN提交问题,可以将XML序列化的对象作为您的问题说明的一部分。
[*]存储信息供以后使用。只需记住,此信息在下一版本中可能会更改。
[*]您可以使用XML序列化后的信息作为检测对象是否已发生变更的参照物。例如您编写了一个设置生命周期的程序,您希望您的程序检测到是否有人干预了生命周期设置。
下面是一些Vault API XML 序列化的示例代码:C#:
private bool DidItChange(LfCycDef def)
{
// serialize the object
StringBuilder currentXML = new StringBuilder();
XmlSerializer serializer = new XmlSerializer(typeof(DocEx.LfCycDef));
using (TextWriter writer = new StringWriter(currentXML))
{
serializer.Serialize(writer, def);
}
// read in the stored XML
string originalXML = System.IO.File.ReadAllText("correct.xml");
// now all you have to do is compare the two
return (originalXML != currentXML.ToString()); }
VB:
private functionDidItChange(def as LfCycDef ) as boolean
' serialize the object
dim currentXML as StringBuilder= new StringBuilder()
dim serializer as XmlSerializer= new XmlSerializer(GetType(LfCycDef))
using writer as TextWriter = new System.IO.StringWriter(currentXML)
serializer.Serialize(writer, def)
end using
' read in the stored XML
dim originalXML as string= System.IO.File.ReadAllText("flex.xml")
' now all you have to do is compare the two
return (originalXML <> currentXML.ToString())
end function
文章来源:http://blog.csdn.net/barbarahan
顶你一下,好贴要顶!
虽然过去不能改变,未来可以。
普林艾尔http://www.preair.cn小店出售各类空气处理设备,淘宝店铺搜索“方凌电器”就可以找到。 EaBIM的技术很高超,介绍的很详细,可以值得学习。 ヽ(✿゚▽゚)ノ 不错噢 学习 (*^__^*) 嘻嘻…… (*^__^*) 嘻嘻…… 路过!!!
不发表意见…… 顶......
楼下跟上..... 顶!!!!!!!!!!!!!!!!!!!!!!!!! 路过!!!
帮顶…… 路过!!!
不发表意见…… 顶!!!!!!!!!! 路过!!!
帮顶…… 路过!!!
不发表意见…… 顶......
楼下跟上..... (*^__^*) 嘻嘻…… 路过!!!
不发表意见……