curl
このタイプの応答を次の方法で取得します。
<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
これを達成するのはそれほど難しくないと確信していますが、成功せずに多くの時間を失いました. どんなヒントでも大歓迎です。ありがとう。-
編集1
私の主な関心事は、 [深さ] [要素] インデックスを取得する方法と、データ (タイプ、名前、コンテンツなど) をレベルする方法です。
編集2
基本的に、これは再帰的なプログラミングの問題です。たぶんwhile
、再帰関数よりもステートメントを介して簡単に実行できますか?