如何在程序中利用TXMLDocument生成XML?分数增加中...

zhengsb 2002-01-23 11:38:36
...全文
235 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tosan 2002-01-24
  • 打赏
  • 举报
回复
对,☆浪人☆说的没错,微软的msxml4.0在VB中就是一个组件,new就可以了.生成了Document以后,就可以读写增加修改酸除node了.我做了一个解析DOM书的例子,请看.
Private Sub CmdOpenXml_Click()
Dim LsHour As String
Dim LsMin As String
Dim LsSec As String
Dim TimeB As String
Dim TimeE As String
Dim msTime As String
Dim lTime As SystemTime
Dim bM, eM As Integer
Dim bMs, eMs As Integer
Dim bMm, eMm, costTime As Integer
Dim Rslt As Variant
Dim Node As IXMLDOMNode 'ノードを取得
Dim Rootdoc As DOMDocument 'ルートノードをゲット

On Err GoTo Eh
GetLocalTime lTime
'データ読み込む開始時刻を取得
bM = lTime.wMinute
bMs = lTime.wMilliseconds
bMm = lTime.wSecond
LsHour = CStr(lTime.wHour)
LsMin = CStr(lTime.wMinute)
LsSec = CStr(lTime.wSecond)
msTime = CStr(lTime.wMilliseconds)
TimeB = LsHour & ":" & LsMin & ":" & LsSec & " : " & msTime
LblXmlB.Caption = "開始時刻:" + TimeB

'XMLファイルのデータを読み込む、フィールドまで分ける
LstTree.Clear
Set Rootdoc = New DOMDocument
Rootdoc.async = False '非同期処理を行わない
Rootdoc.validateOnParse = False '文書型定義を検証しない
Rootdoc.preserveWhiteSpace = False 'WhiteSpaceを含めない
If (Rootdoc.Load(XMLFILE)) Then
Set Node = Rootdoc.childNodes(1)
Rslt = getNodeData(Node)
End If

GetLocalTime lTime
'データ読み込む終了時刻を取得
eM = lTime.wMinute
eMs = lTime.wMilliseconds
eMm = lTime.wSecond
LsHour = CStr(lTime.wHour)
LsMin = CStr(lTime.wMinute)
LsSec = CStr(lTime.wSecond)
msTime = CStr(lTime.wMilliseconds)
TimeE = LsHour & ":" & LsMin & ":" & LsSec & " : " & msTime
LblXmlE.Caption = "終了時刻:" + TimeE
costTime = ((eM - bM) * 60 + eMm - bMm) * 1000 + eMs - bMs
Label1.Caption = CStr(costTime) + "ミリ秒"
Exit Sub
Eh:
'XMLファイルオープン失敗
MsgBox Err.Description

End Sub

Private Function getNodeData(ByVal nodeData As IXMLDOMNode) As Variant
Dim rt As Variant
Dim i, j, num, chnt As Integer
Dim atrrName, atrrValue, RecordData As String
Dim NodeMap As IXMLDOMNamedNodeMap 'ノードの属性を取得

RecordData = nodeData.nodeName
'当ノートの属性を判断、つまり、要素の属性が有否を判断する
Set NodeMap = nodeData.Attributes
num = NodeMap.Length
If num > 0 Then
For i = 0 To num - 1
atrrName = NodeMap.Item(i).nodeName '要素の属性の名前
atrrValue = NodeMap.Item(i).nodeValue '要素の属性の値
RecordData = RecordData + atrrName & ":" & atrrValue
Next i
LstTree.AddItem (RecordData)
'当ノートは子ノートがあれば、コールセルフ
If (nodeData.hasChildNodes) Then
chnt = nodeData.childNodes.Length
For j = 0 To chnt - 1
rt = getNodeData(nodeData.childNodes(j))
Next j
Else
'当ノートは子ノートが無し、これはDOMツリーの最後の階層
Exit Function
End If
End If
End Function
kevin_gao 2002-01-23
  • 打赏
  • 举报
回复
生成xml?
当文本文件生成好了,然后用TXmldocument.loadfromfile将它load进来。
VSaber 2002-01-23
  • 打赏
  • 举报
回复
我给你留个qq: 3199654(我通常隐身)
如果你用这个有什么不懂,我们互相讨论嘛,
这段时间我常用这套sdk,还算懂一点吧!:)
VSaber 2002-01-23
  • 打赏
  • 举报
回复
没法详细说呀,你到ms下载一个用一下就明白了,反正sdk带了帮助嘛!
这是一套com组件,比较简单把,而且刚出了正式版,还有中文4.0正式版,赶快下载了!:)
zhengsb 2002-01-23
  • 打赏
  • 举报
回复
to VSaber:能否详细说说?
VSaber 2002-01-23
  • 打赏
  • 举报
回复
不要用TXMLDocument,直接用msxml4.0 sdk,TXMLDocument很多功能不能实现!
而msxml4.0很好用!
zhengsb 2002-01-23
  • 打赏
  • 举报
回复
????
zhengsb 2002-01-23
  • 打赏
  • 举报
回复
各位能给个例子吗?
zhengshb@yeah.net
iBear 2002-01-23
  • 打赏
  • 举报
回复
看帮助!!!
chenjiong 2002-01-23
  • 打赏
  • 举报
回复
如果是想把数据库中的内容生成XML的话,倒也不一定得用TXMLDocument的。
如果你一定是要用TXMLDocument,那我UP。
wwwwwwww 2002-01-23
  • 打赏
  • 举报
回复
TXMLDocument
TXMLDocument is a component used for programming XML documents. It takes car
e of getting an instance of a IDOMDocument interface and loading and saving
xml files. After setting the filename property and setting Active to true, u
se the DOMDocument property to access the contents of the file.
zhengsb 2002-01-23
  • 打赏
  • 举报
回复
thanks
重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧