Предположим, у меня есть документ XML с сотрудниками и теми, кто им отчитывается. Примерно так:
<?xml version="1.0" encoding="utf-8" ?>
<employees>
<employee>
<id>1</id>
<name>Ashley King</name>
<title>Director</title>
<directReports>
<employee>
<id>2</id>
<name>Jim Warden</name>
<title>Manager</title>
<directReports>
<employee>
<id>3</id>
<name>Jeff Reese</name>
<title>Lead</title>
<directReports>
<employee>
<id>4</id>
<name>Leann Thompson</name>
<title>Staff</title>
<directReports />
</employee>
<employee>
<id>5</id>
<name>Amber Herzer</name>
<title>Staff</title>
<directReports />
</employee>
<employee>
<id>6</id>
<name>Ben Lively</name>
<title>Staff</title>
<directReports />
</employee>
</directReports>
</employee>
<employee>
<id>3</id>
<name>Mary Hibdon</name>
<title>Lead</title>
<directReports>
<employee>
<id>50</id>
<name>Brandon Burns</name>
<title>Staff</title>
<directReports />
</employee>
<employee>
<id>55</id>
<name>David Peck</name>
<title>Staff</title>
<directReports />
</employee>
<employee>
<id>62</id>
<name>Ben Lively</name>
<title>Staff</title>
<directReports />
</employee>
</directReports>
</employee>
</directReports>
</employee>
</directReports>
</employee>
</employees>
Я хотел бы использовать веб-формы (c #) для создания динамических организационных диаграмм на основе данных в XML-документе, который я передаю. Я попробовал несколько методов с различными уровнями дерьма.
Мне кажется, что решение должно включать HTML-таблицу (Cringe). Главным образом потому, что положение каждого сотрудника является значительным, и мы не можем заставить их плавать вокруг окна браузера (пожалуйста, исправьте меня, если вы не согласны). Главный сотрудник, Аскли Кинг, был бы главной ячейкой с круговой шкалой X. Джим Уордон был бы следующей строкой с таким же кольспаном, поскольку у него нет современников в этом XML-документе. Джефф Риз и Мэри Хибдон будут следующими рядами с кольспансом х / 2. Затем в следующем ряду будут следующие сотрудники, и я начинаю увязать в том, как его завершить.
Как бы вы это сделали? Код или концепция ... не имеет значения. Мне просто нужно указать в правильном направлении.