0
PubMed Central API에서 가져온 정렬 된 정보를 출력하는 스크립트를 프로그래밍하고 있습니다. 내 문제는 첫 번째 및 두 번째 저자뿐만 아니라 첫 번째 두 번째 키워드를 가져오고 싶다는 것입니다.이 질문의 목적을 위해, 우리는 단 하나의 키워드에만 집중할 수 있습니다. 좋은 예가 $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'contrib-group'}->contrib->name->surname
입니다. 나는 분명히 인쇄 할 이름을 얻을 수 있습니다.다차원 배열의 특정 요소 ID 값을 에코하기
내가 원하는 것을 얻기 위해 foreach
루프가 필요한 다른 게시물을 읽는 것이 내 이해입니다. 그러나 나는이 상황에서 이것을 구현하는 방법을 이해하지 못한다. 내 코드는 다음과 같습니다 :
<?php
$PMCID = 3545513;
$url = 'http://www.pubmedcentral.nih.gov/oai/oai.cgi?verb=GetRecord&identifier=oai:pubmedcentral.nih.gov:'.$PMCID.'&metadataPrefix=pmc_fm';
$xml = new SimpleXMLElement(file_get_contents($url));
?>
<table>
<tr>
<td>Journal Title</td><td>Year</td><td>Issue</td><td>NOC_Country</td><td>State</td><td>City</td><td>Primary Institution</td><td>Secondary Institution</td><td>First Author</td><td>Second Author</td><td>Topic</td><td>Target Behavior 1</td><td>Target Behavior 2</td><td>Population</td><td>Paper</td><td>Status</td>
</tr>
<tr>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'journal-meta'}->{'journal-title-group'}->{'journal-title'};?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'pub-date'}->year;?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->issue;?></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'contrib-group'}->contrib->name->surname;?>, <?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'contrib-group'}->contrib->name->{'given-names'};?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'contrib-group'}->contrib->name->surname;?>, <?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'contrib-group'}->contrib->name->{'given-names'};?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'title-group'}->{'article-title'};?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'kwd-group'}->kwd;?></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'kwd-group'}->kwd;?></td>
<td></td>
<td><?php echo $xml->GetRecord->record->metadata->article->front->{'article-meta'}->{'article-categories'}->{'subj-group'}->subject;?></td>
<td></td>
</tr>
</table>
어떤 도움을 주시면 감사하겠습니다!
'GetRecord-> 기록 -> metadata-> article-> 앞 -> { '기사 - 메타'} -> { '의 contrib <에코 PHP $ XML-?> -group '} -> contrib-> name-> surname;?>'<- 이것은 Demeter의 법칙을 너무 세게 깨뜨린다. * – Yang
당신은 더 우아한 것을 무엇을 제안합니까? – Jackson