max 中 dotnet 中实现保保存xml 数据

-- 把数据保存成 xml 格式
fn  bipXml   bipPaths   frames    filePath= 
(
    if bipPaths.count >0 then 
    (
        XmlDocumentXDoc =  dotNetobject    "System.Xml.XmlDocument"
        dotnetPath = dotNetClass "System.IO.Path" 
        dotnetDirectory =dotNetClass "System.IO.Directory"
        dotnetFile = dotNetClass "System.IO.File"
        DirFile =dotnetPath.GetDirectoryName (filePath)
        
        if dotnetDirectory.Exists (DirFile) then   --尊在不存在都要进行  这里应该判断目录是不是存在 
        (
            --- 第一个节点在外边建立
            dotnetNode =  XmlDocumentXDoc.CreateNode  ((dotNetClass "System.Xml.XmlNodeType").Element)   "Url:bipdate"   "Url:date"
            dotnetNode.InnerText =""
            XmlDocumentXDoc.AppendChild (dotnetNode)
    
            --fileName = dotnetPath.GetFileName(filePath) 这里不是用于到这里 而是加入bipPaths 数据
            for i in 1 to  bipPaths.count  do 
            (
                --- 在这里建立字符串 
                
                
                ---建立元素
                dotnetXmlElement = XmlDocumentXDoc.CreateElement("node")
                dotnetXmlElement.InnerText = bipPaths[i]--- 元素的数据进行保存处理 
                --- 建立属性
                ---1. bip的名称 2.开始的帧数 
                bipFileName = dotnetPath.GetFileName(bipPaths[i])
                XmlAttributer = XmlDocumentXDoc.CreateAttribute ("bipname")
                XmlAttributer.InnerXml = bipFileName ---建立第一个属性
                
                -- 元素加入第一个属性
                dotnetXmlElement.SetAttributeNode  (XmlAttributer)
                
                ---建立第二个属性帧数 //该属性可写入0 帧 可以不写
                if frames.count ==0 then 
                (
                    XmlAttributerFrame = XmlDocumentXDoc.CreateAttribute("frame")
                    XmlAttributerFrame.InnerXml = "0" 
                    dotnetXmlElement.SetAttributeNode   XmlAttributerFrame  
                    
                )else 
                (
                    XmlAttributerFrame = XmlDocumentXDoc.CreateAttribute("frame")
                    XmlAttributerFrame.InnerXml = frames[i] as string 
                    dotnetXmlElement.SetAttributeNode   XmlAttributerFrame  
                )
                --- 上面是一个元素两个属性建立模型完成 下面就是把 节点元素 插入到 根节点中
                ---上面一键加入了子 应该是在第一个元素下加入 DocumentElement
                XmlDocumentXDoc.DocumentElement.AppendChild (dotnetXmlElement)
                    
            )
            
            --- 组后对根节点进行保存处理
            XmlDocumentXDoc.save(filePath)
        )

    )
    
)

 

posted on 2013-03-08 11:36  盖天00  阅读(248)  评论(0编辑  收藏  举报

导航