0

Webアプリケーションの階層データを管理する必要があります。データは4種類のメッセージで構成されています。データには任意の数の子ノードが存在する可能性があるため、ネストリストモデルを使用することにしました。保存する必要のあるデータは外部ソースからのものです。mySQLに挿入するために「lft」および「rgt」フィールドに値を追加するにはどうすればよいですか。
編集済み これは、アプリケーションがcurlを使用してTwitterからフェッチするメッセージ(タイムライン)を表示する方法です。

foreach ($xml->entry as $status) {
       echo'<li>'.$status->content.'</li>';
   }

直接印刷しているにもかかわらず、「$ status-> content」のコンテンツをデータベースに保存して、それらを操作できるようにする必要があります。つまり、親子階層で印刷します。

4

1 に答える 1

0

1つの可能性は、インポートするデータセットを通過する再帰関数またはプロシージャを作成することです。

すべては他のソースの構造に依存します。それが古典的な親ID階層である場合、Javaの世界では、次の精神で何かを行うことができます。

public class Importer {

    public static db = new Database();

    public static void processOtherSource(ArrayList<Object> data, int lft) {
        int siblings = 0;
        for (Object element : data) {
            int children = 0;
            if (element.getClass().getName().equals("ArrayList")) {
                children = Importer.processOtherSource(element, lft+1, rgt);
            }
            int rgt = lft + children * 2 + 1;
            Importer.db.insert(element, lft, rgt);
            siblings++;
        }
        return siblings;
    }

    public void main(String[] args) {
        Importer.processOtherSource(dataToImport, 1);
    }

}
于 2010-11-19T14:06:03.203 に答える