3
目前試圖找出如何最好地處理下面的示例XML數據:解析XML使用Perl和XML ::嫩枝 - 進一步提取嵌套子
<FOO>
<A>1</A>
<B>Some Stuff</B>
<C>
<C1>
<C2A><![CDATA[xxx]]></C2A>
<C2B><![CDATA[yyy]]></C2B>
</C1>
</C>
</FOO>
我目前使用XML ::嫩枝操作
我想繼續使用這個模塊來實現我的目標,它們是:
從C2A和C2B中提取數據,並將這些數據分配給變量。請注意,C2A和C2B可能有多個條目,例如需要將它們連接到@array。不過,我的問題是向下導航樹,例如,如果我們在下面的另一個例子中,我發現,這就夠了這樣的數據:
<MOVIE_LIST>
<MOVIE>
<NAME>Name of the Movie</NAME>
<MOVIE_ID>28372382</MOVIE_ID>
<DESCRIPTIONS>
<LONG_DESCRIPTION>This is a long description</LONG_DESCRIPTION>
<SHORT_DESCRIPTION>short description</SHORT_DESCRIPTION>
</DESCRIPTIONS>
<DIRECTOR_LIST>
<DIRECTOR>director 1</DIRECTOR>
<DIRECTOR>director 2</DIRECTOR>
</DIRECTOR_LIST>
</MOVIE>
<MOVIE>
...
</MOVIE>
</MOVIE_LIST>
的溶液中: @directors = $ elt-> FIRST_CHILD ( 'DIRECTOR_LIST') - > children_text( '導演');
但是,我的問題是,有時候,這些孩子不存在(例如根本沒有發送C部分數據),這給了我無盡的悲痛,因爲像下面的東西不會工作:
@C = $elt->first_child('C')->first_child('C1')->children_text('C2');
我越來越而難倒如何實現自己的目標,而且會感激感激任何建議,簡單的答案,歡迎;-)
首先感謝回覆,其次感謝XML :: Twig!兩者都非常感謝:-) – simon
沒問題。我希望能簡單地祝福'undef'順便說一句,它有時會簡化代碼。 – mirod