New New :(( - Trying to figure out a couple things - Please help

New New :(( - Trying to figure out a couple things - Please help

am 29.04.2003 20:50:17 von Sam

Hi Sam Marcotte here

I am real new at this - Old Mainframer and I know what I want to do but
just
not finding the correct functions.

I want to figure out how to put info out of a file (it is xml).

I need to find a way to look thru the file and find lines that look lik
Computers
I want to pull out just Computers (remove and write to another file (I
can do the writes)

Then
Computers - ddddddd
dddddd
dddddd
ddddd

multi lies from start of desc to end - and take the off - and write
each
record till I find the end

I know we are talking about 2 or 3 loops my main problem is find given data
in the middle
of a line of txt.

Thanks for any help


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Re: New New :(( - Trying to figure out a couple things - Please

am 29.04.2003 21:04:50 von Scott Marlowe

On Tue, 29 Apr 2003 sam@casheze.biz wrote:

> Hi Sam Marcotte here
>
> I am real new at this - Old Mainframer and I know what I want to do but
> just
> not finding the correct functions.
>
> I want to figure out how to put info out of a file (it is xml).
>
> I need to find a way to look thru the file and find lines that look lik
> Computers
> I want to pull out just Computers (remove and write to another file (I
> can do the writes)
>
> Then
> Computers - ddddddd
> dddddd
> dddddd
> ddddd

> multi lies from start of desc to end - and take the off - and write
> each
> record till I find the end
>
> I know we are talking about 2 or 3 loops my main problem is find given data
> in the middle
> of a line of txt.

There are really two ways to go about this, one is to write your own
parser, the other is to let a library handle it for you. Most Linux boxes
already have expat involved, and if they don't, it's easy to get. Check
out the xml docs in the PHP documentation, particularly:
xml_parse_into_struct and it's relatives.

The other way, parsing it by hand, isn't as bad as all that. If the file
isn't very big (say under a megabyte) then just read the whole thing in
like so:

$file="filename.xml";
$fp = fopen ($file,"r");
$body = fread($fp,filesize($file));
$lines = split ("\n",$body);
foreach($lines as $line){
if (ereg("thingtomatch",$line)){
(parse a line here);
}
}

For parsing a line, look at the regex and string functions. ereg is
easier to grasp for most beginners than perl regexes. For a definition of
posix regex, on most unix boxes you can type 'man 7 regex' or something
like it to get a nice page explaining how they work.

Something like:

$a="";
if (eregi(" print "Found the start at ";
$start = strpos(" $end = strpos("",$a);
$len = strlen($a);
print substr($a,$start,$len-$end);
}

something like that.


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org