Я программист C#, но мне никогда не приходилось использовать XSLT. Я делаю сейчас, и я зацикливаюськак сгруппировать результаты
Учитывая некоторые xmls, мне нужно использовать XSLT для создания html-вывода. Немного погуляв, мне удалось собрать что-то вместе, пока мой босс не сказал мне, что «Таблицы и столбцы должны быть строить динамически в XSLT документ иХ было жестко прописывать имена столбцов. Все столбцы заголовок должен быть в горизонтальном положении.
Любой помощь написание XSLT? Тот, который я сделал, был бесполезным, так как он жёстко столбцы
EDITED
<Generated>
<Employees>
<Employee name="Joe Bloggs">
<Sales>
<Sale key="Sale-Id" value="2323" />
<Sale key="Sale-Field1" value="Field1sale" />
<Sale key="Sale-Field2" value="field2Sale" />
</Sales>
</Employee>
<Employee name="Mark Bloggs">
<Sales>
<Sale key="Sale-Id" value="334" />
<Sale key="Sale-Field1" value="Field1sale" />
<Sale key="Sale-Field2" value="field2Sale" />
</Sales>
</Employee>
</Employees>
<Products>
<Product name="Rice">
<Sales>
<Sale key="Sale-Id" value="334" />
<Sale key="Sale-Field1" value="Field1sale" />
<Sale key="Sale-Field2" value="field2Sale" />
</Sales>
</Product>
<Product name="Wine">
<Sales>
<Sale key="Sale-Id" value="32" />
<Sale key="Sale-Field1" value="Field1sale" />
<Sale key="Sale-Field2" value="field2Sale" />
</Sales>
</Product>
</Products>
</Generated>
Я знаю, что это неправильно, но ИЗУЧИТЬ XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select="(Generated/Employees/Employee)[1]/Sales/Sale[@key != 'Sale-Id']">
<xsl:for-each select="Generated/Employees/Employee">
</xsl:for-each>
<xsl:for-each select="./Sales/Sale[@key != 'Sale-Id']">
</xsl:for-each>
<xsl:value-of select="@Value"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Боковое примечание. Всегда лучше включать код в текст, а не изображение, потому что я сомневаюсь, что кто-то, кто хочет протестировать ваше дело, позаботится о том, чтобы повторно ввести код из картинки вручную. И вам лучше показать свою попытку и указать, где она не работает, потому что сейчас ваш вопрос звучит как «напишите код для меня, пожалуйста», но StackOverflow не является службой написания кода. –
@ AndyKorneyev да, вы правы, но сложно, когда вы вообще ничего не знаете о xslt.I также ставит свою попытку – developer9969
Либо используйте XSL2.0, который содержит групповой узел, либо реализует [muenchian method] (http://www.jenitennison.com/xslt/grouping/muenchian.html) –