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
相关文档:
SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Message] [xml] NULL ......
五、XML模式
l XML模式能更精确的处理XML结构约束的表示之外还为约束数据的处理提供一个XML样式。模式只是一个XML文档,受DTD的约束。对于XML模式而言,XML DTD只是一种创建文档约束的手段。因为XML模式是为了强化XML文档的有效性,它必须采用一种机制,而不是自己定义约束条件。这种机制必须是一个DTD。但是原始的D ......
参考博文《IE下利用jQuery分析XML》地址:http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/
本来以为jQuery会很好的解决所有浏览器兼容性问题,但是阵亡的IE6还是会找麻烦!
jQuery使用AJAX时,在IE6下读取回传到XML数据会有问题,具体看下面的例子吧。
准备数据文件test.xml
<Ar ......