我正在与uspto专利授权api合作。我刚刚编写了一个示例代码来获取结果。结果以xml格式我解析了xml,我想使用foreach循环显示标题,但只显示一个值。
的index.php
$(document).ready(function() {
$('#term').click(function(e) {
e.stopPropagation();
$('.dim').css('opacity', '0.5');
});
$(document).on("click", function() {
$(this).find('.dim').css('opacity', '0');
});
});
usptodata.xml
<?php
$data = file_get_contents('usptodata.xml');
$arr = simplexml_load_string($data);
foreach($arr->result as $values){
echo $values->doc->str[6];
}
?>
在输出中,只有单个标题会像这样出现。 “指定委托人利益(查看详情资料)。”。我如何获得所有索引[6]标题。
答案 0 :(得分:2)
我想它应该是:
$data = file_get_contents('usptodata.xml');
$arr = simplexml_load_string($data);
// proper variant
foreach($arr->result->doc as $cur_doc){
echo $cur_doc->str[6] . PHP_EOL;
}
解释:因为你有result
对象,它是$arr
的一部分,你需要迭代它的doc
属性,所以它是{{1 }}
在您的初始案例中:$arr->result->doc
表示“迭代$arr->result
的所有子项”,但result
只有一个子项:result
。因此,doc
仅需foreach
而不会更深入并迭代doc
子项。