我正在實現一個小事件管理器,以便使用Observer模式。要訂閱我的觀察我的活動,我使用下面的XML文件:SimpleXML(實際上是Zend_Config_Xml)和foreach:我在迭代哪個標籤?
<?xml version="1.0" encoding="UTF-8"?>
<configData>
<subscriptions>
<subscription>
<eventName>event_name</eventName>
<class>My_Observer_Class</class>
<function>myFunction</function>
</subscription>
<subscription>
<eventName>other_event_name</eventName>
<class>My_Observer_Otherclass</class>
<function>myOtherFunction</function>
</subscription>
</subscriptions>
</configData>
我使用foreach
循環的訂閱:
foreach($subscriptions->subscription as $subscription) {
/* using $subscription->eventName etc... */
}
而且一切正常,各$subscription
項目有它的eventName
等等
但是這纔是我的問題:
<?xml version="1.0" encoding="UTF-8"?>
<configData>
<subscriptions>
<subscription>
<eventName>event_name</eventName>
<class>My_Observer_Class</class>
<function>myFunction</function>
</subscription>
</subscriptions>
</configData>
這裏我只是一個<subscription>
節點。而我的foreach
環上subscription
孩子! 爲了解決這個問題,我想知道我怎麼能檢查如果XML文件包含幾個<subscription>
標籤,或只是一個...
任何幫助將不勝感激:)
編輯:有沒有辦法將xpath
用於我的Zend_Config_Xml object
?
其實這就是我所做的。我沒有使用xpath。謝謝。 – LittleBigDev