Autor Zpráva
TomasRe
Profil
Dobrý den,
můžete prosím poradit, jak vypsat prvky z XML, který je v tomto tvaru. Jak je vypsat seřazené podle určitého parametru. Například - vypsat seřazené podle Surname a pouze pokud Enabled=true

<Objs Version="1.1.0.1" xmlns="schemas.microsoft.com/powershell/2004/04">
<Obj RefId="710">
<TNRef RefId="0" />
<ToString>CN=Jan Novák,CN=Users,DC=erg,DC=spolecnost,DC=cz</ToString>
<Props>
<S N="co">Czech Republic</S>
<S N="DisplayName">Jan Novák</S>
<B N="Enabled">true</B>
<S N="StreetAddress">Ulice 1</S>
<S N="Surname">Novák</S>
</Props>
</Obj>

Ještě prosím o radu, jak vyhledat dle jednoduchého formuláře <form><input type='Surename' value=''><input type='submit' value='vyhledat'></form> - tedy vyhledat všechny uživatele, kde Surename obsahuje zadaný parametr.

Dopředu moc děkuji.

Podařilo se mi splodit toto, ale tím pouze vypíš hodnoty bez možnosti řazení a ještě mi zobrazuje stát před jménem... :-(

$xml = simplexml_load_file('soubor.xml');

foreach ($xml->Obj as $Obj) {
    foreach ($Obj->Props->B as $ratingB) {    
    switch((string) $ratingB['N']) {
    case 'Enabled': if ($ratingB==true) {
        foreach ($Obj->Props->S as $rating) {        
    switch((string) $rating['N']) {
    case 'DisplayName': echo "jméno: ". $rating."<br>"; break;
    case 'co': echo "stát: ".$rating; break;
    }}}}}}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: