以下解決方案找到含有tag="100"
的數據字段並獲取code="a"
的子字段值。現在我意識到我還需要檢查是否存在code="4"
的子字段,如果是,請檢查值是否爲xyz,如果條件爲真,則只檢索子字段code="a"
的值。我如何更改代碼才能做到這一點?使用SimpleXMLElement :: xpath檢查特定節點值
XML:
<datafield tag="100">
<subfield code="a">value
</subfield>
<subfield code="4">xyz
</subfield>
</datafield>
代碼
if($datafield['tag']=='100'){
$datafield->registerXPathNamespace('foo', 'http://www.loc.gov/MARC21/slim');
foreach($datafield->xpath('foo:subfield') as $sf) {
if($sf['code']=='a'){
$auth=func($sf);
}
}
}