Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1095
  • Last Modified:

Using C# .Net 2.0 to parse a text file.

Looking for some advice on how to go about parsing data out of a text file - just need enough help to get started down the right road.  Or if there's an open source library available that'll do the job...I have no interest in re-inventing the wheel!

The text file I have to work with is like the one below; I need to extract a couple bits of information out of the header (like invoice number, which warehouse, customer PO) and information out of the line items, and my intent is to populate a strongly typed dataset.

I think I could hard-code a parsing routine pretty easily, but I was hoping to have something like an XML file with parsing rules since the format may change in the future, and the format could be different from warehouse to warehouse - and with the parsing rules in an external XML file it's easy to change, and I could have different XML files to accomodate more than one format (especially if it ends up being someone not familiar with programming).
12:04:18                                                             23 OCT 2008
                     * * *   P I C K    T I C K E T   * * *        PAGE  1 OF  2
INVOICE NO. 123456            WAREHOUSE 12-A
    REF NO. 123456
 
CUST NO. 123456      PH                SALE TYPE WHLS/C
 
      SOLD TO:                            SHIP TO:
      DOE,JOHN                            DOE,JOHN
      123 MAIN ST                         123 MAIN ST
      METROPOLIS, US 12345-1234           METROPOLIS, US 12345-1234
 
 
PO NO. CUST-PO-HERE  SHIP VIA SHIP-METHOD-HERE
PC PART-NO................. Q.O. BIN..... O.H. DESC..............
PN                   123456    1      A12    5 TEST PART
PN                   789012    1      B34    5 ANOTHER TEST PART
 
 
--- Snip some unknown number of line items on page 1 --
 
12:04:18                                                             23 OCT 2008
                     * * *   P I C K    T I C K E T   * * *        PAGE  1 OF  2
INVOICE NO. 123456            WAREHOUSE 12-A
    REF NO. 123456
 
CUST NO. 123456      PH                SALE TYPE WHLS/C
 
      SOLD TO:                            SHIP TO:
      DOE,JOHN                            DOE,JOHN
      123 MAIN ST                         123 MAIN ST
      METROPOLIS, US 12345-1234           METROPOLIS, US 12345-1234
 
 
PO NO. CUST-PO-HERE       SHIP VIA SHIP-METHOD-HERE
PC PART-NO................. Q.O. BIN..... O.H. DESC..............
PN                   345678    1      C56      TEST
PN                   901234    1      D78      TEST
                             TOT PC    4

Open in new window

0
Todd Gerbert
Asked:
Todd Gerbert
  • 3
  • 3
1 Solution
 
RishadanPortCommented:
Seems to me that that file structure is unique, and you will have to create your own parsing routine
0
 
RishadanPortCommented:
looks pretty painful to generate something that will read an XML file to parse this, rather then write the parser itself
0
 
Todd GerbertIT ConsultantAuthor Commented:
Agreed.

But, if the vendor supplying this data decides to change their format it would be much easier to just adjust my parsing rules XML file, as opposed to re-writing code - especially if I happen to not be at the same company (I don't want to leave solutions behind that they can't support without me).  Plus, then I'd have re-usable code.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Todd GerbertIT ConsultantAuthor Commented:
I haven't found a simple solution, and I'm slightly disinclined to write my own grammar/compiler, so I've decided to go ahead and code a simple parsing routine in C#, but I've left that code in an external text file that's compiled at run-time - at least this way I can make adjustments fast, and maybe someone else besides me will stand a chance of tweaking it if need-be.
0
 
RishadanPortCommented:
gl in the future
0
 
Todd GerbertIT ConsultantAuthor Commented:
Care to elaborate? ;)

(Sorry, only GL I know is graphics lib OpenGL)
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now