65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
Data 32, 173, 189, 156, 207, 190, 221, 245, 249, 184, 166, 174, 170, 32, 169, 238
|
|
Data 248, 241, 253, 252, 239, 230, 244, 250, 247, 251, 167, 175, 172, 171, 243, 168
|
|
Data 183, 181, 182, 199, 142, 143, 146, 128, 212, 144, 210, 211, 222, 214, 215, 216
|
|
Data 209, 165, 227, 224, 226, 229, 153, 158, 157, 235, 233, 234, 154, 237, 232, 225
|
|
Data 133, 160, 131, 198, 132, 134, 145, 135, 138, 130, 136, 137, 141, 161, 140, 139
|
|
Data 208, 164, 149, 162, 147, 228, 148, 246, 155, 151, 163, 150, 129, 236, 231, 152
|
|
|
|
Dim Shared As Integer numCodes, initCode
|
|
initCode = 160
|
|
numCodes = 255 - initCode + 1
|
|
|
|
Dim Shared As Integer codes(numCodes)
|
|
For i As Integer = 0 To numCodes - 1 : Read codes(i)
|
|
Next i
|
|
|
|
Function codeConversion(charcode As Integer, tocode As Integer = False) As Integer
|
|
If tocode Then
|
|
For i As Integer = 0 To numCodes - 1
|
|
If codes(i) = charcode Then Return i + initCode
|
|
Next i
|
|
Else
|
|
Return codes(charcode - initCode)
|
|
End If
|
|
End Function
|
|
|
|
Function convASCII(nombre As String, mark As String) As String
|
|
Dim As Integer p, c, lm = Len(mark)
|
|
|
|
Do
|
|
p = Instr(p, nombre, mark)
|
|
If p = 0 Then Exit Do
|
|
c = Valint(Mid(nombre, p + lm, 4))
|
|
c = codeConversion(c)
|
|
nombre = Left(nombre, p-1) + Chr(c) + Right(nombre, Len(nombre) - (p + lm + 4))
|
|
p += 1
|
|
Loop
|
|
Return nombre
|
|
End Function
|
|
|
|
Dim As String strXml = "<Students>"
|
|
strXml += " <Student Name=\'April\' Gender=\'F\' DateOfBirth=\'1989-01-02\' />"
|
|
strXml += " <Student Name=\'Bob\' Gender=\'M\' DateOfBirth=\'1990-03-04\' />"
|
|
strXml += " <Student Name=\'Chad\' Gender=\'M\' DateOfBirth=\'1991-05-06\' />"
|
|
strXml += " <Student Name=\'Dave\' Gender=\'M\' DateOfBirth=\'1992-07-08\'>"
|
|
strXml += " <Pet Type=\'dog\' Name=\'Rover\' />"
|
|
strXml += " </Student>"
|
|
strXml += " <Student DateOfBirth=\'1993-09-10\' Gender=\'F\' Name=\'Émily\' />"
|
|
strXml += "</Students>"
|
|
|
|
Dim As String tag1 = "<Student"
|
|
Dim As String tag2 = "Name=\'", nombre
|
|
Dim As Integer ltag = Len(tag2), p = 1, p2
|
|
|
|
Do
|
|
p = Instr(p, strXml, tag1)
|
|
If p = 0 Then Exit Do
|
|
p = Instr(p, strXml, tag2)
|
|
p += ltag
|
|
p2 = Instr(p, strXml, "\'")
|
|
nombre = convASCII(Mid(strXml, p, p2 - p), "&#x")
|
|
Print nombre
|
|
Loop
|
|
|
|
Sleep
|