EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 10105|回复: 216
打印 上一主题 下一主题

Autodesk Vault API 类的Xml Serialization攻略

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-14 10:34:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

译自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 function  DidItChange(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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

0

主题

28

帖子

67

积分

BIM助工

Rank: 2Rank: 2

积分
67
推荐
发表于 2015-12-18 09:31:51 | 只看该作者
顶你一下,好贴要顶!











虽然过去不能改变,未来可以。

普林艾尔  http://www.preair.cn小店出售各类空气处理设备,淘宝店铺搜索“方凌电器”就可以找到。
推荐
发表于 2015-4-21 09:49:10 | 只看该作者
EaBIM的技术很高超,介绍的很详细,可以值得学习。

14

主题

2892

帖子

2085

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
2085
推荐
发表于 2016-3-15 09:30:59 | 只看该作者
ヽ(✿゚▽゚)ノ 不错噢

7

主题

865

帖子

1435

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1435
3F
发表于 2014-2-18 14:32:21 | 只看该作者
(*^__^*) 嘻嘻……

12

主题

876

帖子

1510

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1510
4F
发表于 2014-2-18 14:33:55 | 只看该作者
(*^__^*) 嘻嘻……

1

主题

716

帖子

1133

积分

BIM项目负责人

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

积分
1133
5F
发表于 2014-2-21 14:49:09 | 只看该作者
路过!!!
不发表意见……

0

主题

843

帖子

1280

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1280
6F
发表于 2014-2-25 10:58:06 | 只看该作者
顶......
楼下跟上.....

2

主题

875

帖子

1420

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1420
9F
发表于 2014-2-25 11:03:04 | 只看该作者
路过!!!
不发表意见……

26

主题

722

帖子

-2205

积分

乞丐

积分
-2205
12F
发表于 2014-2-25 11:09:19 | 只看该作者
路过!!!
不发表意见……

2

主题

875

帖子

1420

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1420
13F
发表于 2014-2-25 11:11:22 | 只看该作者
顶......
楼下跟上.....

2

主题

885

帖子

1615

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1615
14F
发表于 2014-2-25 11:13:09 | 只看该作者
(*^__^*) 嘻嘻……

11

主题

815

帖子

1367

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1367
15F
发表于 2014-2-25 11:15:16 | 只看该作者
路过!!!
不发表意见……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-16 16:25

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表