我要对一个文本文件进行读取,格式如下:Node Father
No=1
name="Altete"
age=50
sex=M
height=175
weight=140
address="阿丹特斯街"
EndNode Mother
No=2
name="Alice"
age=40
sex=L
Tel=5878562
EndNode Sun
No=3
name="Sam"
age=25
interest="Design"
End
.
.
.
更多的Node
注意上面的node类型有20多种,结构都不一样,Node 与 End 之间是一个属性列表,现在我想从这个文本文件中读取这些数据,要求把Node与End之间作为一个块的形式将其添加到集合中去,并以No属性为索引,应该怎么样做?
No=1
name="Altete"
age=50
sex=M
height=175
weight=140
address="阿丹特斯街"
EndNode Mother
No=2
name="Alice"
age=40
sex=L
Tel=5878562
EndNode Sun
No=3
name="Sam"
age=25
interest="Design"
End
.
.
.
更多的Node
注意上面的node类型有20多种,结构都不一样,Node 与 End 之间是一个属性列表,现在我想从这个文本文件中读取这些数据,要求把Node与End之间作为一个块的形式将其添加到集合中去,并以No属性为索引,应该怎么样做?
解决方案 »
- 很奇怪的Sql问题
- 比较复杂的进度条!
- 怎样限定txt中只能输入9个数字?
- vb 调用 .txt 文件的问题!!!!谢谢了!!!!!
- 关于MSFlexGrid的问题,在线等
- 如果确实很需要水晶报表9.0的,请与我联系,我不能帖地址出来,人太多的话,会拖死服务器的。
- 关于Data.Recordset.EOF的问题
- 在VB中如何同时实现背景音乐和音效,我使用时总是只能一个有效。
- 我想使得VB数据库的一条记录成为一张Word的表格怎么做?在线等待
- 请高手帮忙!
- 怎样在VB里面实现在一个文件里面查找你需要的多个字符串?????????????(解决立马给你分)
- 简单问题:如何取整数和小数部分,并设置格式
1、你的名字怎么跟偶这么象哦?
2、如果不是强求这种格式的话建议你用INI来保存配置:
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long
Public R As Long
'写入INI
Function WriteToINI(ByVal MainCap As String, KeyName As String, ByVal Entry As String, ByVal FilePath As String) As Boolean
WriteToINI = True
R = WritePrivateProfileString(MainCap, KeyName, Entry, FilePath)
If R <> 1 Then WriteToINI = False
End Function
'读取INI
Function GetFromINI(AppName As String, KeyName As String, Filename As String) As String
Dim RetStr As String
RetStr = String(2000, Chr(0))
GetFromINI = left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), Filename))
End Function
ini里的每个区间[]是没有重复,我这个文本文件里的数据,有相同结构的也不有同结构的,我问题主要不是想如何保存为这种格式,而是想将这个格式的数据读出来,放进一个数据结构或集合里
Public Function ToXML() As String
Dim strXML As String
strXML = "<Father>"
strXML = strXML & "<name>" & Father.Name & "</name>"
……
strXML = strXML & "</Father>"
ToXML = strXML
End FunctionPublic Function FromXML(ByVal strXML As String) As Boolean
Dim objXMLDoc As New MSXML2.DOMDocument30
objXMLDoc.async = False
objXMLDoc.resolveExternals = False objXMLDoc.loadXML (strXML)
If objXMLDoc.parseError.errorCode <> 0 Then
FromXML = False
Set objXMLDoc = Nothing
Exit Function
End If Dim objNode As MSXML2.IXMLDOMNode Set objNode = objXMLDoc.selectSingleNode("./Father")
If objNode Is Nothing Then
FromXML = False
Set objXMLDoc = Nothing
Exit Function
End If
Father.Name = objXMLDoc.selectSingleNode("./Father/name").Text
…… Set objXMLDoc = Nothing
End Function
用行读加循环完全可以!dim FirstFlag as boolean,EndFlag as boolean
dim txtLine$,UsedInfo$open "xxxx.txt" for input as #1do until eof(1)
line Input#,txtline
if not(instr(txtline,"Node")>0 or instr(txtline,"End")>0 or trim(txtline)="") then
UsedInfo=mid(txtline,instr(txtline,"=")+1)
end if
loop