登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 | 信息 | 空间 | VB | VC | Delphi | Java | Flash | 补丁 | 控件 | 安全 | 黑客 | 电子书 | 笔记本 | 手机 | MP3 | 杀毒 | QQ群 | 产品库 | 分类信息 | 编程网站
  立华软件园 - Visual Basic 专区 - 技术文档 - 数据报表 技术文章 | VB源代码 | 电子图书 | VB网站 | 相关下载 | 在线论坛 | QQ群组 | 搜索   
 VB技术文档
  · 窗体界面
  · 系统控制
  · VB.Net
  · 多媒体
  · 网络编程
  · API函数
  · 游戏编程
  · 数据报表
  · 其他文档
 VB源代码
  · 窗体界面
  · 文件目录
  · 多媒体
  · 网络编程
  · 系统API
  · 数据报表
  · 游戏编程
  · VBA办公
  · 其他代码
 VB论坛
  · Visual Basic 讨论区
  · VB.Net 讨论区
  · VB数据库开发讨论区
  · VB系统API讨论区
 其他VB资源
  · VB下载资源
  · VB电子图书
  · VB QQ群组讨论区
  · VB 其他网站资源




用vb将word文档生成xml文件并互相转换
发表日期:2006-08-10作者:[转贴] 出处:  

1. 建立一个新的vb工程

2. 引用 Microsoft XML,版本 2.0 或以上

3. 在窗体form1上建立按钮 cmdCreateXML 和 cmdGetBinary

代码:


Option Explicit

Dim oDoc As DOMDocument

Dim DOCINPATH As String

Dim XMLOUTPATH As String

Dim DOCOUTPATH As String

Private Sub cmdCreateXML_Click()

Dim oEle As IXMLDOMElement

Dim oRoot As IXMLDOMElement

Dim oNode As IXMLDOMNode

DOCINPATH 
= App.Path & "DocInput.doc"

XMLOUTPATH 
= App.Path & "XmlOuput.xml"

Call ReleaseObjects

Set oDoc = New DOMDocument

oDoc.resolveExternals 
= True

'Create processing instruction and document root

Set oNode = oDoc.createProcessingInstruction("xml""version=注释:1.0注释:")

Set oNode = oDoc.insertBefore(oNode, oDoc.childNodes.Item(0))

'Create document root

Set oRoot = oDoc.createElement("Root")

Set oDoc.documentElement = oRoot

oRoot.setAttribute 
"xmlns:dt""urn:schemas-microsoft-com:datatypes"

'Add a few simple nodes with different datatypes

Set oNode = oDoc.createElement("Document")

oNode.Text 
= "Demo"

oRoot.appendChild oNode

Set oNode = oDoc.createElement("CreateDate")

oRoot.appendChild oNode

Set oEle = oNode

'Use DataType so MSXML will validate the data type

oEle.dataType 
= "date"

oEle.nodeTypedValue 
= Now

Set oNode = oDoc.createElement("bgColor")

oRoot.appendChild oNode

Set oEle = oNode

'Use DataType so MSXML will validate the data type

oEle.dataType 
= "bin.hex"

oEle.Text 
= &HFFCCCC

Set oNode = oDoc.createElement("Data")

oRoot.appendChild oNode

Set oEle = oNode

'Use DataType so MSXML will validate the data type

oEle.dataType 
= "bin.base64"

'Read in the data

oEle.nodeTypedValue 
= ReadBinData(DOCINPATH)

'Save xml file

oDoc.save XMLOUTPATH

MsgBox XMLOUTPATH & " is created for you."

End Sub

Function ReadBinData(ByVal strFileName As StringAs Variant

Dim lLen As Long

Dim iFile As Integer

Dim arrBytes() As Byte

Dim lCount As Long

Dim strOut As String

注释:Read from disk

iFile 
= FreeFile()

Open strFileName 
For Binary Access Read As iFile

lLen 
= FileLen(strFileName)

ReDim arrBytes(lLen - 1)

Get iFile, , arrBytes

Close iFile

ReadBinData 
= arrBytes

End Function

Private Sub WriteBinData(ByVal strFileName As String)

Dim iFile As Integer

Dim arrBuffer() As Byte

Dim oNode As IXMLDOMNode

If Not (oDoc Is NothingThen

'Get the data

Set oNode = oDoc.documentElement.selectSingleNode("/Root/Data")

'Make sure you use a byte array instead of variant

arrBuffer 
= oNode.nodeTypedValue

'Write to disk

iFile 
= FreeFile()

Open strFileName 
For Binary Access Write As iFile

Put iFile, , arrBuffer

Close iFile

End If

End Sub

Private Sub cmdGetBinary_Click()

DOCOUTPATH 
= App.Path & "DocOutput.doc"

Set oDoc = New DOMDocument

If oDoc.Load(XMLOUTPATH) = True Then

'Save the Doc as another file

WriteBinData DOCOUTPATH

MsgBox DOCOUTPATH & " is created for you."

Else

MsgBox oDoc.parseError.reason

End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

ReleaseObjects

End Sub

Private Sub ReleaseObjects()

Set oDoc = Nothing

End Sub

4. 建立word文档DocInput.doc.

5. 保存文档在工程目录下

6. 运行程序点击cmdCreateXML 按钮.一个 XML 文件XmlOuput.xml 就建立了.

点击 cmdGetBinary 按钮就可以生成word文档 DocOutput.doc.

按照上面的方法,同样可以将任意的二进制数据存为xml,然后再重新生成二进制数据

可以用于web传输等等可以使用xmlhttp的地方

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 用vb将word文档生成xml文件并互相转换

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00184