Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML] parsowanie z pubmed
dentopolis
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


poniższy skrypt wyświetla mi pobrane z xml dane w postaci Tytuł artykułu@abstrakt@autor@czasopismo itd.
ale każdy artykuł ma kilku autorów.obecnie wyświetla mi się tylko pierwszy. jak wypisać wszystkich?

  1. <?php
  2. $articles = simplexml_load_file('pubmed_result.xml');
  3.  
  4. echo "Title@Abstract@Authors@Journal@Date@Tags@Pubmed";
  5.  
  6. foreach ($articles as $text):
  7. $title=$text->MedlineCitation->Article->ArticleTitle;
  8. $abstract=$text->MedlineCitation->Article->Abstract->AbstractText;
  9.  
  10.  
  11. $authorlastname=$text->MedlineCitation->Article->AuthorList->Author->LastName;
  12. $authorfirstname=$text->MedlineCitation->Article->AuthorList->Author->ForeName;
  13.  
  14. $year=$text->MedlineCitation->DateRevised->Year;
  15. $month=$text->MedlineCitation->DateRevised->Month;
  16. $day=$text->MedlineCitation->DateRevised->Day;
  17.  
  18. echo $title;
  19. echo "@";
  20. echo $authorlastname;
  21. echo " ";
  22. echo $authorfirstname;
  23. echo "@";
  24. echo $day;
  25. echo "-";
  26. echo $month;
  27. echo "-";
  28. echo $year;
  29. echo "@Conclusions: ";
  30. echo $abstract;
  31. echo "<br/>";
  32. endforeach;
  33.  
  34. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dentopolis
post
Post #2





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


taka pętla wyświetla mi imię pierwszego autora tyle razy ilu autorów występuje np.5

  1. <?php
  2. $articles = simplexml_load_file('pubmed_result.xml');
  3.  
  4.  
  5.  
  6. echo "Title@Abstract@Authors@Journal@Date@Tags@Pubmed";
  7.  
  8. foreach ($articles as $text):
  9. $title=$text->MedlineCitation->Article->ArticleTitle;
  10. $abstract=$text->MedlineCitation->Article->Abstract->AbstractText;
  11.  
  12.  
  13.  
  14. $author=$text->MedlineCitation->Article->AuthorList->Author;
  15.  
  16. $year=$text->MedlineCitation->DateRevised->Year;
  17. $month=$text->MedlineCitation->DateRevised->Month;
  18. $day=$text->MedlineCitation->DateRevised->Day;
  19.  
  20.  
  21.  
  22.  
  23. echo $title;
  24. echo "@";
  25. #echo $authorlastname;
  26. echo " ";
  27. #echo $authorfirstname;
  28.  
  29. foreach ($author as $test) {
  30. $authorlastname=$text->MedlineCitation->Article->AuthorList->Author->LastName;
  31. $authorfirstname=$text->MedlineCitation->Article->AuthorList->Author->ForeName;
  32. echo $authorlastname;
  33. echo $test;
  34. }
  35.  
  36. echo "@";
  37. echo $day;
  38. echo "-";
  39. echo $month;
  40. echo "-";
  41. echo $year;
  42. echo "@Conclusions: ";
  43. echo $abstract;
  44. echo "<br/>";
  45. endforeach;
  46.  
  47. ?>


gdzie jest błąd?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 13:17