我通过curl
获得此类型的响应:数据结构保存基于嵌套的XML数据
<ArrayOfServerFile>
<ServerFile>
...
<FileType>Folder</FileType>
<Identifier>x123</Identifier>
<Name>Client Templates</Name>
...
</ServerFile>
<ServerFile>
...
<FileType>XpressDox Template</FileType>
<Identifier>y456</Identifier>
<Name>contact-information.xdtpl</Name>
...
</ServerFile>
...
</ArrayOfServerFile>
我要保存这些信息在树状data structure
。
我已经试过这样的事情:
// Pseudo-code:
function run_procedure()
{
get XML data via curl
if FileType == 'Folder'
save name and other useful data into $tree_like_data_structure
run_procedure() // recursive call
else if FileType == 'XpressDox Template'
save name and other useful data into $tree_like_data_structure
}
var_dump($tree_like_data_structure);
的想法是代表这样保存的数据:
[0][0] -> data
[1][0] -> data
[1][1] -> data
[1][2] -> [2][0] -> data
[2][1] -> data
[1][3] -> data
我敢肯定,这是不是很难做到,但我有失去了很多没有成功的时间。任何提示都非常受欢迎。 Thanks.-
EDIT 1
我主要关心的是如何获得[深度] [元件]的索引以及如何电平数据(类型,名称,内容等)。
编辑2
基本上,这是一个递归规划问题。 也许可以通过while
声明比使用递归函数更容易完成声明吗?
样本XML如何表示一棵树并不是很清楚。 – Tomalak
'文件夹 '表示可以使用'curl'导航的文件夹。所以当我找到一个文件夹时,我必须导航到它。所以我的问题是如何保存所有这些数据。 –
它是否有帮助http://stackoverflow.com/questions/2531632/php-jaxb-equivalent –