【发布时间】:2019-03-03 11:12:39
【问题描述】:
我有一个包含作者列表的 XML here
...
<contributors>
<person_name contributor_role="author" sequence="first">
<given_name>John</given_name>
<surname>Doe</surname>
</person_name>
<person_name contributor_role="author" sequence="first">
<given_name>Micheal</given_name>
<surname>Bob</surname>
</person_name>
<person_name contributor_role="author" sequence="additional">
<given_name>Lyly</given_name>
<surname>Jane</surname>
</person_name>
<person_name contributor_role="author" sequence="additional">
<given_name>Tom</given_name>
<surname>Mark</surname>
</person_name>
</contributors>
...
我尝试使用下面的代码来获取所有作者的全名(给定姓名和姓氏)但无法正常工作 - 显示由“;”分隔的空白值因为我在我的代码中使用了。
$xml2 = simplexml_load_file($api_xml_url);
foreach($xml2 as $contributors =>$node) {
foreach($node as $person_name => $child) {
$authors = $child->given_name ." " .$child->surname ."; ";
echo $authors;
}
如何像 John Doe 一样按顺序显示所有作者;迈克尔·鲍勃;莉莉·简;汤姆马克
【问题讨论】:
-
“不同的序列”是什么意思?你给出的顺序正是XML中的顺序?
-
每个 XML 文件都有不同的顺序。我的意思是如何获得具有任何序列值的完整作者。谢谢
-
"but not working (just only show ;)" 是什么意思?你的问题是超级不清楚。请向我们展示预期结果和您当前获得的结果。我也不知道你在这种情况下所说的“序列”是什么意思。
-
对不起,我的英语不好。我的代码只显示分号分隔每个作者,但没有显示给定的名字和姓氏。
-
@MagnusEriksson 他的意思是获取所有作者——不依赖于序列。尝试了他的代码,由于代码结构错误,它显示了空白值。我已经更正了它并现在作为答案发布。