0

我必须为我的 Web 应用程序管理一些分层数据。数据由四种类型的消息组成。我决定使用嵌套列表模型,因为数据中可以有任意数量的子节点。我需要存储的数据来自外部源,如何将值添加到“lft”和“rgt”字段以将其插入 mySQL。
已编辑 这就是我显示我的应用程序使用 curl 从 Twitter 获取的消息(时间线)的方式。

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

现在,尽管直接打印,我需要将'$status->content' 的内容存储到数据库中,以便我可以操作这些内容,即打印在父子层次结构中。

4

1 回答 1

0

一种可能性是编写遍历要导入的数据集的递归函数或过程。

一切都取决于其他来源的结构。如果它是经典的父 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 回答