Şartlı ayrıştırma XML PHP ile bağlıyor

0 Cevap php

Gerçekten birileri bana bu konuda yardımcı olabilir umut ediyorum.

Temelde, bu şubedeki diğer niteliklere dayalı bir XML ağacının belirli XML özelliklerini ayrıştırmak çalışıyorum.

XML türüne bir örnek olarak ben ile çalışıyorum: -

<root>
<employees>
  <team id="1643">
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1364"/>
    <member id ="153461" jobtype="temporary" division="reception" rollnumber="1326"/>
    <member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1312"/>
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1326"/>
  </team>
  <team id="1633">
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1244"/>
    <member id ="153461" jobtype="temporary" division="reception" rollnumber="1569"/>
    <member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1472"/>
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1112"/>
  </team>
  <team id="1674">
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1488"/>
    <member id ="153461" jobtype="temporary" division="reception" rollnumber="1032"/>
    <member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1886"/>
    <member id ="153461" jobtype="permament" division="cleaning" rollnumber="1445"/>
  </team>
</employees>
</root>

Ne yapmaya çalışıyorum belirli kategoriler doldurmak tüm çalışanlar için rollnumber ulaşmak olduğunu. Yani "If jobtype = "permanent" and division = "cleaning" then echo rollnumber" gibi görünüyor Bir yapabilmek istiyorum.

Şimdi, PHP ile bu ayrıştırmak denedim, ve temelde başarısız oldu. Ben bu gibi sözdizimi kullanılarak çünkü ben başarısız oldu: -

$team->xpath("//member[@jobtype='permament'][@division='cleaning']/@rollnumber")

Bu bir dizi olarak ayrıştırır. Problem yok. Ben dizinin dışında değişkenleri çekebilirsiniz. Problem yok.

Sorun bu ...

PHP ... Bu kod üreten iç içe diziler ile baş edemez. Bu bellekte ilk dizi tutar ve sadece tekrar tekrar aynı değişkenleri ayrıştırır. Her döngünün sonunda dizi vb sıfırlayarak denedim, ancak işe yaramadı. PHP sadece foreach dizisinin sonunda dizi yok edebilecek gibi.

Ben gerçekten PHP ile bu ayrıştırmak mümkün olup olmadığını bilmek istiyorum? Bu etrafında bir çalışma var mı? Herhangi bir yardım / tavsiye greaty mutluluk duyacağız.

0 Cevap