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 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文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
&nb ......
通过调用CreateDataSetfromXml取得XML数据
Imports System.Xml
Public Const FILE_CONFIG = "MZZ.xml"
Public Const PATH_CONFIG = "\XML\"
Dim dstXML As DataSet
Dim tblXML_DB As DataTable
Dim dtCod As New DataTable
Dim strSQL As String = ""
clsPublic ......
NND EXCEL2007,让老子找了半天才把button添加上去。
Sub 按钮1_Click()
Dim sFileName As String
Dim ws As Worksheet   ......
xml:
<?xml version="1.0" encoding="utf-8" ?>
<library>
<name>首都图书馆</name>
<address>朝阳区华威桥南</address>
<books>
<book type="math">
<id>0000</id>
</book&g ......