0

I wanted to take the fields such as School Type, Name, Location, Details, Degreemjor, Education details, Start and End Date

How can i do this using the foreach loop ?

Here is my Array.

    Array (
    [0] => SimpleXMLElement Object (
    [@attributes] => Array (
    [SchoolType] => UnSpecified
    )
    [School] => SimpleXMLElement Object (
    [SchoolName] => School of
    )
    [SchoolLocation] => SimpleXMLElement Object (
    )
    [Degree] => SimpleXMLElement Object (
    [@attributes] => Array (
    [DegreeType] =>
    )
    [IsHighestDegee] => True
    [DegreeName] => SimpleXMLElement Object (
    )
    [DegreeDate] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [DegreeMajor] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EducationDetails] => SimpleXMLElement Object (
    )
    [DegreeMeasure] => SimpleXMLElement Object (
    [EducationMeasure] => SimpleXMLElement Object (
    [MeasureSystem] => SimpleXMLElement Object (
    )
    [MeasureValue] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    )
    )
    [DateofAttendance] => SimpleXMLElement Object (
    [StartDate] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EndDate] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    )
    [EducationDescription] => Editor - School of Business Management Students\' newsletter
    )
    )
    [1] => SimpleXMLElement Object (
    [@attributes] => Array (
    [SchoolType] => UnSpecified
    )
    [School] => SimpleXMLElement Object (
    [SchoolName] => Nanyang Polytechnic
    )
    [SchoolLocation] => Nanyang
    [Degree] => SimpleXMLElement Object (
    [@attributes] => Array (
    [DegreeType] => Certificate Courses
    )
    [IsHighestDegee] => False
    [DegreeName] => SimpleXMLElement Object (
    )
    [DegreeDate] => SimpleXMLElement Object (
    [AnyDate] => 1/1/1999
    )
    [DegreeMajor] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EducationDetails] => Engineering
    [DegreeMeasure] => SimpleXMLElement Object (
    [EducationMeasure] => SimpleXMLElement Object (
    [MeasureSystem] => SimpleXMLElement Object (
    )
    [MeasureValue] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    )
    )
    [DateofAttendance] => SimpleXMLElement Object (
    [StartDate] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EndDate] => SimpleXMLElement Object (
    [AnyDate] => 1/1/1999
    )
    )
    [EducationDescription] => Secretary - Nanyang Polytechnic Students\' Union Participated in inter-diploma debate (
    1999
    ) - preliminary and semi-final
    )
    )
    [2] => SimpleXMLElement Object (
    [@attributes] => Array (
    [SchoolType] => UnSpecified
    )
    [School] => SimpleXMLElement Object (
    [SchoolName] => Member of school volleyball team - represented school in National competition
    )
    [SchoolLocation] => SimpleXMLElement Object (
    )
    [Degree] => SimpleXMLElement Object (
    [@attributes] => Array (
    [DegreeType] => Certificate Courses
    )
    [IsHighestDegee] => False
    [DegreeName] => SimpleXMLElement Object (
    )
    [DegreeDate] => SimpleXMLElement Object (
    [AnyDate] => 1/1/1996
    )
    [DegreeMajor] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EducationDetails] => Engineering
    [DegreeMeasure] => SimpleXMLElement Object (
    [EducationMeasure] => SimpleXMLElement Object (
    [MeasureSystem] => SimpleXMLElement Object (
    )
    [MeasureValue] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    )
    )
    [DateofAttendance] => SimpleXMLElement Object (
    [StartDate] => SimpleXMLElement Object (
    [0] => SimpleXMLElement Object (
    )
    )
    [EndDate] => SimpleXMLElement Object (
    [AnyDate] => 1/1/1996
    )
    )
    [EducationDescription] => Patrol Leader - Girl Guides Member of school volleyball team - represented school in National competition - clinched 2nd prize in 1996
    )
    )
    )

Here is the var_export

array (
0 => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'SchoolType\' => \'UnSpecified\',
), \'School\' => SimpleXMLElement::__set_state(
array(
\'SchoolName\' => \'School of\',
)
), \'SchoolLocation\' => SimpleXMLElement::__set_state(
array(
)
), \'Degree\' => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'DegreeType\' => \'\',
), \'IsHighestDegee\' => \'True\', \'DegreeName\' => SimpleXMLElement::__set_state(
array(
)
), \'DegreeDate\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)
), \'DegreeMajor\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
), )), \'EducationDetails\' => SimpleXMLElement::__set_state(
array(
)), \'DegreeMeasure\' => SimpleXMLElement::__set_state(
array(
\'EducationMeasure\' => SimpleXMLElement::__set_state(
array(
\'MeasureSystem\' => SimpleXMLElement::__set_state(
array(
)
), \'MeasureValue\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), )), )), \'DateofAttendance\' => SimpleXMLElement::__set_state(
array(
\'StartDate\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), \'EndDate\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
), )), )), \'EducationDescription\' => \'Editor - School of Business Management Students\\\' newsletter\', )), )), 1 => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'SchoolType\' => \'UnSpecified\',
), \'School\' => SimpleXMLElement::__set_state(
array(
\'SchoolName\' => \'Nanyang Polytechnic\',
)
), \'SchoolLocation\' => \'Nanyang\', \'Degree\' => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'DegreeType\' => \'Certificate Courses\',
), \'IsHighestDegee\' => \'False\', \'DegreeName\' => SimpleXMLElement::__set_state(
array(
)
), \'DegreeDate\' => SimpleXMLElement::__set_state(
array(
\'AnyDate\' => \'1/1/1999\',
)), \'DegreeMajor\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
), )), \'EducationDetails\' => \'Engineering\', \'DegreeMeasure\' => SimpleXMLElement::__set_state(
array(
\'EducationMeasure\' => SimpleXMLElement::__set_state(
array(
\'MeasureSystem\' => SimpleXMLElement::__set_state(
array(
)
), \'MeasureValue\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), )), )), \'DateofAttendance\' => SimpleXMLElement::__set_state(
array(
\'StartDate\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), \'EndDate\' => SimpleXMLElement::__set_state(
array(
\'AnyDate\' => \'1/1/1999\',
)), )), \'EducationDescription\' => \'Secretary - Nanyang Polytechnic Students\\\' Union Participated in inter-diploma debate (
1999
) - preliminary and semi-final\', )), )), 2 => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'SchoolType\' => \'UnSpecified\',
), \'School\' => SimpleXMLElement::__set_state(
array(
\'SchoolName\' => \'Member of school volleyball team - represented school in National competition\',
)
), \'SchoolLocation\' => SimpleXMLElement::__set_state(
array(
)), \'Degree\' => SimpleXMLElement::__set_state(
array(
\'@attributes\' => array (
\'DegreeType\' => \'Certificate Courses\',
), \'IsHighestDegee\' => \'False\', \'DegreeName\' => SimpleXMLElement::__set_state(
array(
)
), \'DegreeDate\' => SimpleXMLElement::__set_state(
array(
\'AnyDate\' => \'1/1/1996\',
)), \'DegreeMajor\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
), )), \'EducationDetails\' => \'Engineering\', \'DegreeMeasure\' => SimpleXMLElement::__set_state(
array(
\'EducationMeasure\' => SimpleXMLElement::__set_state(
array(
\'MeasureSystem\' => SimpleXMLElement::__set_state(
array(
)
), \'MeasureValue\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), )), )), \'DateofAttendance\' => SimpleXMLElement::__set_state(
array(
\'StartDate\' => SimpleXMLElement::__set_state(
array(
0 => SimpleXMLElement::__set_state(
array(
)
),
)), \'EndDate\' => SimpleXMLElement::__set_state(
array(
\'AnyDate\' => \'1/1/1996\',
)), )), \'EducationDescription\' => \'Patrol Leader - Girl Guides Member of school volleyball team - represented school in National competition - clinched 2nd prize in 1996\', )), )), )

This is the following up of this question

13
  • 1
    Follow up? It looks like an identical question? Commented May 19, 2015 at 4:15
  • That is for a single array and this is for the multiple array, ( Foreach will be employed here) Commented May 19, 2015 at 4:16
  • do an if(||___||) inside the for each statement based upon what you want triggered. Commented May 19, 2015 at 4:17
  • @php_purest Can you please explain in it code.. Commented May 19, 2015 at 4:18
  • 2
    @StackRaja I can, but if you can't even write an if statement within a for each that you have running, why are you writing code by hand? Commented May 19, 2015 at 4:24

2 Answers 2

2

Have a look at SimpleXMLElement::attributes

I think you can get the element like

$url = 'http://recruitplushrxmlapidemo.onlineresumeparser.com/hrxml/153Melanie%20R.%20Mather%20Mills.xml';

$sxml = simplexml_load_file($url);

foreach($sxml->StructuredXMLResume->EducationHistory->SchoolOrInstitution as $key => $value){

    echo 'SchoolType --> '.$value->attributes()['SchoolType'];        
    echo "<br />";
    echo 'SchoolName --> '.$value->School->SchoolName;
    echo "<br />";
    echo 'SchoolLocation --> '.$value->SchoolLocation;
    echo "<br />";
    echo 'DegreeMajor --> '.$value->Degree->DegreeMajor[0];
    echo "<br />";
    echo 'EducationDetails --> '.$value->Degree->EducationDetails;
    echo "<br />";
    echo 'StartDate --> '.$value->Degree->DateofAttendance->StartDate[0];
    echo "<br />";
    echo 'EndDate --> '.$value->Degree->DateofAttendance->EndDate->AnyDate;
    echo "<br /><br />";

}
Sign up to request clarification or add additional context in comments.

14 Comments

Hi, thanks, i am getting the SchoolType i.e., unspecified .. can you please tell how to get the School Type, Name, Location, Details, Degreemjor, Education details, Start and End Date also ?
Thats not a big deal you can do it by yourself, format your question if you want more help
Actually, i can't able to post the formatted code in stackoverflow, here is the eval sample code link eval.in/367010
I tried $key['School']->SchoolName and i am getting empty frield :(
I don't understand how this is so strangely formatted :S anyway, @StackRaja, can't you see how to apply the above to get different attributes? Maybe try adding echo $attr['SchoolName']; into that loop?
|
1

I'm an idiot, it didn't click that that was XML. Okay, so your array appears to be an array of schools/institutions from a resume, correct? Just follow the XML hierarchy to reach each node that you care about.

foreach ($nodes as $node) {
    echo "Type: " . $node->attributes()['SchoolType'] . "\n";
    echo "Name: " . $node->School->SchoolName . "\n";
    echo "Location: " . $node->SchoolLocation . "\n";
    echo "Degree name: " . $node->Degree->DegreeName . "\n";
    // etc
}

8 Comments

Hopefully... :) How did you populate that array? You should include that code in your original post, too.
Wow !!!!! It was awesome !!! You're the man :) Can you please how to get the value ResumeParsingStartDate in this array ... eval.in/367046 here is the original post of array stackoverflow.com/questions/30022826/…
Yep, I'll have a look. Please accept the answer? :)
Oh, actually i save that file as .xml and the convert it into array and then doing it
Yep. Same is this, really. Check @tiGer's answer, that's quite good.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.