69 lines
2.2 KiB
Plaintext
69 lines
2.2 KiB
Plaintext
// ========== routine for set code conversion ================
|
|
|
|
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
|
|
|
|
initCode = 160 : TOASCII = 0 : TOUNICODE = 1 : numCodes = 255 - initCode + 1
|
|
|
|
dim codes(numCodes)
|
|
|
|
for i = 0 to numCodes - 1 : read codes(i) : next
|
|
|
|
sub codeConversion(charcode, tocode)
|
|
local i
|
|
|
|
if tocode then
|
|
for i = 0 to numCodes - 1
|
|
if codes(i) = charcode return i + initCode
|
|
next
|
|
else
|
|
return codes(charcode - initCode)
|
|
end if
|
|
end sub
|
|
|
|
// ========== end routine for set code conversion ============
|
|
|
|
xml$ = "<Students>\n"
|
|
xml$ = xml$ + " <Student Name=\"April\" Gender=\"F\" DateOfBirth=\"1989-01-02\" />\n"
|
|
xml$ = xml$ + " <Student Name=\"Bob\" Gender=\"M\" DateOfBirth=\"1990-03-04\" />\n"
|
|
xml$ = xml$ + " <Student Name=\"Chad\" Gender=\"M\" DateOfBirth=\"1991-05-06\" />\n"
|
|
xml$ = xml$ + " <Student Name=\"Dave\" Gender=\"M\" DateOfBirth=\"1992-07-08\">\n"
|
|
xml$ = xml$ + " <Pet Type=\"dog\" Name=\"Rover\" />\n"
|
|
xml$ = xml$ + " </Student>\n"
|
|
xml$ = xml$ + " <Student DateOfBirth=\"1993-09-10\" Gender=\"F\" Name=\"Émily\" />\n"
|
|
xml$ = xml$ + "</Students>\n"
|
|
|
|
tag1$ = "<Student"
|
|
tag2$ = "Name=\""
|
|
ltag = len(tag2$)
|
|
|
|
sub convASCII$(name$, mark$)
|
|
local p, c, lm
|
|
|
|
lm = len(mark$)
|
|
|
|
do
|
|
p = instr(name$, mark$, p)
|
|
if not p break
|
|
c = dec(mid$(name$, p + lm, 4))
|
|
c = codeConversion(c)
|
|
name$ = left$(name$, p-1) + chr$(c) + right$(name$, len(name$) - (p + lm + 4))
|
|
p = p + 1
|
|
loop
|
|
return name$
|
|
end sub
|
|
|
|
do
|
|
p = instr(xml$, tag1$, p)
|
|
if not p break
|
|
p = instr(xml$, tag2$, p)
|
|
p = p + ltag
|
|
p2 = instr(xml$, "\"", p)
|
|
name$ = convASCII$(mid$(xml$, p, p2 - p), "&#x")
|
|
print name$
|
|
loop
|