XML Parser

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I am updating a xml parser developed by a third party. The xml below is  
parsed by the system using the code that follows:

- <section id="officers">
- <section id="secretary">
  <section id="stakeholder id">15728499</section>
  <section id="name">FRED BLOGGS</section>
- <section id="director" type="current">
  <section id="stakeholder id">15728498</section>
  <section id="name">JOHN SMITH</section>
- <section id="company identification">
  <section id="name">ABC LIMITED</section>

 $extract = parseXMLForLtd($xml, $type);
  function parseXMLForLtd($xml="", $type) {
    preg_match_all( "/\<section(.*?)\<\/section\>/s", $xml, $reportData);
    $reportData[0] = preg_replace('/\n/i','',$reportData[0]);
    $result = $reportData[0];
    for($i=0; $i<count($result);$i++) {
      $item = trim(stripslashes($result[$i]));

 if(eregi('<section id="name">',$item) && eregi('<section id="company  
identification">',$item)) {
        $extract[name] = preg_replace('/([<][\/a-zA-Z0-9 ="-]+[>])/i', '',  

However when I try to parse a the other field called "name" using:

else if(eregi('<section id="name">',$item) && eregi('<section  
id="secretary">',$item)) {
        $extract[secretary] = preg_replace('/([<][\/a-zA-Z0-9 ="-]+[>])/i',  
'', $item);

It does not work. Could anyone please advise how I can extract "Fred  

Thanks In Advance  

Re: XML Parser

Quoted text here. Click to load it


Parsing hierarchical markup languages using regexen is an
exercise in futility, if not worse.


An XPath expression fetching the node you need would be:


...also, I submit that we all must honourably commit seppuku
right now rather than serve the Dark Side by producing the
HTML 5 spec.

Site Timeline