次のサンプル XML があります。
<root>
<Entities>
<Entity>
<property type=”Name”>Name1</property>
<property type=”Parent_id”>-1</property>
<property type=”id”>1</property>
</Entity>
<Entity>
<property type=”Name”>Name2</property>
<property type=”Parent_id”>1</property>
<property type=”id”>2</property>
</Entity>
<Entity>
<property type=”Name”>Name3</property>
<property type=”Parent_id”>2</property>
<property type=”id”>3</property>
</Entity>
<Entity>
<property type=”Name”>Name4</property>
<property type=”Parent_id”>2</property>
<property type=”id”>4</property>
</Entity>
<Entity>
<property type=”Name”>Name5</property>
<property type=”Parent_id”>3</property>
<property type=”id”>5</property>
</Entity>
</Entities>
</root>
XML はエンティティで構成され、各エンティティには親 ID と ID があります。親 ID = -1 のエンティティは常に 1 つ存在します。これは、ルート エンティティであることを意味します。
この種の XML を、親子関係が描かれている HTML UL に変換できる XSL が必要です。
たとえば、上記のサンプルの場合、出力は次のようになります。
<ul>
<li>Name1</li>
<ul>
<li>Name2</li>
<ul>
<li>Name3</li>
<ul>
<li>Name5</li>
</ul>
<li>Name4</li>
</ul>
</ul>
</ul>
XML は動的であり、エンティティの数は定数ではありません。保証される唯一のことは、親 ID が -1 であるエンティティの存在であり、すべてのルート エンティティとしてマークされます。
私はこれのために XSLT を書き込もうとしましたが、実行に時間がかかり、この問題を解決するための戦略を考えることができませんでした。
ライフジャケットを投げて助けてください、