История вопроса:
У меня есть папка с множеством каталогов, файлов, вложений и JavaScript.Существует основной файл ядра, который обрабатывается ActiveX для создания структуры типа «JS Tree», состоящей из вложенной таблицы после вложенной таблицы.Короче говоря, это ужасно.
Проблема, с которой я столкнулся, состоит в том, чтобы загрузить ее в базу данных, чтобы они могли применять состояния к связанному содержимому.
Анализ файла XML неОбязательно проблема для меня, однако, чтобы структура работала правильно.Файл не вложен в логической манере, которая могла бы легко создать структуру в базе данных / файловой системе.Файл XML состоит из Structure
узлов, которые содержат немного информации об этом узле и любом соответствующем контенте в файловой системе.
Я думал о загрузке его в структуру типа MPTT, но логически анализировал различные узлыв то, что состоит из отношений Ребенок / Родитель, где я спотыкаюсь.Ниже приведен пример этого XML-файла:
<Structure nodeid="9D565FD65DE9464EA36F005866DBF3AE" ParentID = "6EEB45ED97634C9BB2730D7713255673" IsAddOnNode="True" IsCoreNode = "0" >
<Name>POS specific remarks</Name>
<Sequence>1</Sequence>
<WBS>1.1.3.1</WBS>
<BackgroundColor>#80FF00</BackgroundColor>
<FontColor>Black</FontColor>
<Comments></Comments>
<References></References>
</Structure>
<Structure nodeid="A6F7E2F0728147BB88429545A6C490CA" ParentID = "B17AB99B64664624AAA41E220A9EAE59" IsAddOnNode="False" IsCoreNode = "0" >
<Name>Execution, Monitoring, and Controlling of Results</Name>
<Sequence>4</Sequence>
<WBS>1.1.4</WBS>
<BackgroundColor></BackgroundColor>
<FontColor>White</FontColor>
<Comments>
<Comment AddOnID = "53539AB26B50472CAA2DF4E428605C87" Version="0.2"></Comment>
</Comments>
<References></References>
</Structure>
<Structure nodeid="EFCCA56742074A2A859FD1C547850ABA" ParentID = "A6F7E2F0728147BB88429545A6C490CA" IsAddOnNode="False" IsCoreNode = "0" >
<Name>Project Performance Reports</Name>
<Sequence>1</Sequence>
<WBS>1.1.4.1</WBS>
<BackgroundColor></BackgroundColor>
<FontColor>White</FontColor>
<Comments></Comments>
<References></References>
</Structure>
Когда он был проанализирован с помощью ActiveX, структура (на левой навигационной панели) организована в виде стандартного контура или упорядоченного списка:
1. Project Preparation
1.1 Project Management
1.1.1 Phase Star-Up
1.1.1.1 Item 1
1.1.1.2 Item 2
1.1.1.3 Item 3
И так далее.Насколько я понимаю, эти значения, которые обозначают раздел или подраздел (1.1.1.2), хранятся в теге WBS
узла Structure
.Я думаю, что мне нужно сделать, это разобрать их и создать структуру в соответствии с этим.Как это сделать, вот где я в тупике.
Кроме того, есть также узел Sequence
, который отправляет данные для хранения информации о том, какой индексный дочерний элемент находится вне его родительского элемента.
То, что я хотел бы сделать
Я хотел бы создать группу записей в базе данных (желательно в MPTT), чтобы я мог легко сгенерировать дерево навигации и затем начатья беспокоюсь о том, чтобы «очистить» все отдельные файлы, чтобы я мог также хранить их содержимое в базе данных.Почему-то мне нужно проанализировать значение WBS-узла, чтобы создать его «индекс» в таблице.
Я надеюсь, что решение будет более простым, чем я ожидал.Предположим, что программа в правильном направлении будет принята с благодарностью.
Я планировал использовать TreeBehavior в CakePHP для управления этим, но мне не обязательно использовать это для обработки файла.