473,327 Members | 1,892 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

Can XML do this?

I know nothing about XML and am asking this so I know if I should spend some
time learning.

I had a VB6 address book app that I converted to .net
It reads and writes records in a random file.
That is, each record is the same size, (composed of items that are fixed
size strings.)
If no middle name item, for example, is entered blanks are written for that
item.
Using a random file lets me read, for example, the 10th record if I want to,
without reading records 1 thru 9.

I converted to .NET and the conversion created things that enable the code
to appear as if it had fixed size strings, but it's kind of kluggy.

I wonder if XML wouldn't work well.

To restate the question:
An address book application.
Many of the possible items for a given contact might not be filled in.
Most items are not as long as the max allowable length.
They are padded with blanks.
If the entries(contacts) were written including only the nonblank unpadded
items.
Could I read and rewrite the entries in a random order.

I'd guess the answer is no.
In that case, If the written entries were all the same size because blanks
would be used to pad items so they become fixed size.

Would it make sense to use XNL?
Thanks for any helpful suggestions

P.S. Is there XML address book example code available on the Internet?
Nov 12 '05 #1
3 1474
Just Me wrote:
I had a VB6 address book app that I converted to .net
It reads and writes records in a random file.
That is, each record is the same size, (composed of items that are fixed
size strings.)
If no middle name item, for example, is entered blanks are written for that
item.
Using a random file lets me read, for example, the 10th record if I want to,
without reading records 1 thru 9.

I converted to .NET and the conversion created things that enable the code
to appear as if it had fixed size strings, but it's kind of kluggy.

I wonder if XML wouldn't work well.


Yeah, XML is basically bad on effective random read/write access unless
you load the whole document into memory. Basically you can have each
record on separate line and fixed length of data, but that sounds as
really weird XML file.
--
Oleg Tkachenko [XML MVP]
http://blog.tkachenko.com
Nov 12 '05 #2

"Oleg Tkachenko [MVP]" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote in message
news:%2***************@TK2MSFTNGP11.phx.gbl...
Just Me wrote:
I had a VB6 address book app that I converted to .net
It reads and writes records in a random file.
That is, each record is the same size, (composed of items that are fixed
size strings.)
If no middle name item, for example, is entered blanks are written for
that item.
Using a random file lets me read, for example, the 10th record if I want
to, without reading records 1 thru 9.

I converted to .NET and the conversion created things that enable the
code to appear as if it had fixed size strings, but it's kind of kluggy.

I wonder if XML wouldn't work well.


Yeah, XML is basically bad on effective random read/write access unless
you load the whole document into memory. Basically you can have each
record on separate line and fixed length of data, but that sounds as
really weird XML file.
--
Oleg Tkachenko [XML MVP]
http://blog.tkachenko.com


If it must be fixed length I might as well stay with the simpler approach.

I suppose I could use variable length strings for the items ( a contact
might has about 20 optional items) and before I write to a random file,
combine them into one string padded to a certain length, rather than padding
each item.
It seems surprising to me that dotnet has no built-in provisions for random
files of strings.

Thanks for the insight


Nov 12 '05 #3
You could use Binary writer to do this. This is like a .DBF file.
I wrote a class to write .DBF files once which is similar approach.

There are also methods on string for padding (PadLeft, PadRight) to simulate
fixed lenght fields.

You might also look for a Radom Acess library, I think I saw some code
http://www.codeproject.com/vb/net/ybrandomfile.asp not sure how well it
works.

Schneider
" Just Me" <gr****@a-znet.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
I know nothing about XML and am asking this so I know if I should spend some time learning.

I had a VB6 address book app that I converted to .net
It reads and writes records in a random file.
That is, each record is the same size, (composed of items that are fixed
size strings.)
If no middle name item, for example, is entered blanks are written for that item.
Using a random file lets me read, for example, the 10th record if I want to, without reading records 1 thru 9.

I converted to .NET and the conversion created things that enable the code
to appear as if it had fixed size strings, but it's kind of kluggy.

I wonder if XML wouldn't work well.

To restate the question:
An address book application.
Many of the possible items for a given contact might not be filled in.
Most items are not as long as the max allowable length.
They are padded with blanks.
If the entries(contacts) were written including only the nonblank unpadded
items.
Could I read and rewrite the entries in a random order.

I'd guess the answer is no.
In that case, If the written entries were all the same size because blanks
would be used to pad items so they become fixed size.

Would it make sense to use XNL?
Thanks for any helpful suggestions

P.S. Is there XML address book example code available on the Internet?

Nov 12 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: James | last post by:
I have a from with 2 fields: Company & Name Depening which is completed, one of the following queries will be run: if($Company){ $query = "Select C* From tblsample Where ID = $Company...
5
by: Scott D | last post by:
I am trying to check and see if a field is posted or not, if not posted then assign $location which is a session variable to $location_other. If it is posted then just assign it to...
2
by: Nick | last post by:
Can someone please tell me how to access elements from a multiple selection list? From what ive read on other posts, this is correct. I keep getting an "Undefined variable" error though... Form...
2
by: Alexander Ross | last post by:
I have a variable ($x) that can have 50 different (string) values. I want to check for 7 of those values and do something based on it ... as I see it I have 2 options: 1) if (($x=="one") ||...
0
by: Dan Foley | last post by:
This script runs fine, but I'd like to know why it's so slow.. Thanks for any help out there on how i can make it faster (it might take up to 5 min to write these 3 export files whith 15 records...
5
by: Lee Redeem | last post by:
Hi there I've created abd uploaded this basic PHP script: <html> <head> <title>PHP Test</title> </head> <body> <H1 align="center">
5
by: christopher vogt | last post by:
Hi, i'm wondering if there is something like $this-> to call a method inside another method of the same class without using the classname in front. I actually use class TEST { function...
6
by: Phil Powell | last post by:
Ok guys, here we go again! SELECT s.nnet_produkt_storrelse_navn FROM nnet_produkt_storrelse s, nnet_produkt_varegruppe v, nnet_storrelse_varegruppe_assoc sv, nnet_produkt p WHERE...
1
by: Michel | last post by:
a site like this http://www.dvdzone2.com/dvd Can you make it in PHP and MySQL within 6 weeks? If so, send me your price 2 a r a (at) p a n d o r a . b e
11
by: Maciej Nadolski | last post by:
Hi! I can`t understand what php wants from me:( So: Cannot send session cache limiter - headers already sent (output started at /home/krecik/public_html/silnik.php:208) in...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.