【发布时间】:2014-07-09 08:14:25
【问题描述】:
<ITEMS>
<ITEM ItemID="XY">
<ItemSearchName />
<ITEMDESCRIPTION>
<DESCRIPTION descriptionType="T" descriptionTypeTitle="Short" languageId="1" language="English">English description</DESCRIPTION>
<DESCRIPTION descriptionType="T" descriptionTypeTitle="Short" languageId="2" language="France">Fance description</DESCRIPTION>
</ITEMDESCRIPTION>
<ItemType>B</ItemType>
<ItemDepartment />
<ITEMDIMENSIONS>
<ItemDimensionUOM>m</ItemDimensionUOM>
</ITEMDIMENSIONS>
<ItemGrossWeihgt>0.00</ItemGrossWeihgt>
</ITEM>
</ITEMS>
这是我使用 simplexml 方法解析的 XML 文件的示例。我确实使用此代码读取了 ItemID 属性值(只是一个示例):
$item->attributes()->ItemID
我的问题是,如何在DESCRIPTION属性languageId = 1下访问DESCRIPTION?
我可以用 foreach 做到这一点:
foreach ($item->ITEMDESCRIPTION->DESCRIPTION as $desc) {
if ($desc['languageId'] == '1') {
echo "<td>" . $desc . "</td>";
}
}
但我不想使用 foreach。
另一种可能性是这样的:
$desc2 = $item->ITEMDESCRIPTION->DESCRIPTION[1];
但这只是第一个说明,而不是属性 languageId = 1 的说明。
感谢您的任何建议!
【问题讨论】:
标签: php xml xml-parsing simplexml