Я работаю над проектом, который требует, чтобы я загрузил XML-документ в xslt и преобразовал его для отображения в таблице html. Проблема в том, что, поскольку я использую LINQ для создания XML, все теги элементов являются тегами XElement, поэтому свойство «xsl: value-of select» не будет читать XElement. Мне интересно, есть ли способ конвертировать XElement в XmlElement или просто XSLT читать XElements вместо XMLElements?Преобразование XElement в XmlElement для преобразования XSLT ASP.NET C#
Вот код, где я загрузить данные в файл XML с помощью LINQ:
List<Prod> Products = utils.getProducts();
XElement xml = new XElement("Products", Products.Select(x => new XElement("Product",
new XElement("ProductID", x.ProductID),
new XElement("ProductName", x.ProductName),
new XElement("SupplierID", x.SupplierID),
new XElement("CategoryID", x.CategoryID),
new XElement("QuantityPerUnit", x.QuantityPerUnit),
new XElement("UnitPrice", x.UnitPrice),
new XElement("UnitInStock", x.UnitInStock),
new XElement("UnitsOnOrder", x.UnitsOnOrder),
new XElement("ReorderLevel", x.ReorderLevel))));
xml.Save("C:/Users/Aaron/Documents/Visual Studio 2012/WebSites/INFO451Final/Part_B/Prod.xml");
Вот код для моего XSLT:
<xsl:template match="/">
<html>
<body>
<h2>Products</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>ProductID</th>
<th>ProductName</th>
<th>SupplierID</th>
<th>CategoryID</th>
<th>QuantityPerUnit</th>
<th>UnitPrice</th>
<th>UnitInStock</th>
<th>UnitsOnOrder</th>
<th>ReorderLevel</th>
</tr>
<xsl:for-each select="Product">
<tr>
<td>
<xsl:value-of select="ProductID"/>
</td>
<td>
<xsl:value-of select="ProductName"/>
</td>
<td>
<xsl:value-of select="SupplierID"/>
</td>
<td>
<xsl:value-of select="CategoryID"/>
</td>
<td>
<xsl:value-of select="QuantityPerUnit"/>
</td>
<td>
<xsl:value-of select="UnitPrice"/>
</td>
<td>
<xsl:value-of select="UnitInStock"/>
</td>
<td>
<xsl:value-of select="UnitsOnOrder"/>
</td>
<td>
<xsl:value-of select="ReorderLevel"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
Так , сейчас все, что загружается, являются заголовками, так как «xsl: for-each» также не работает.
Любая помощь была бы принята с благодарностью.
Я только что сделал веб-поиск для «конвертирования XElement в XmlElement» и получил много многообещающих хитов. Вы пытались это сделать, и если да, то что случилось? –
Я пробовал, что, однако, я не смог реализовать решения в таблице html, и это то, что мне нужно сделать. – Fuzzerker
Ну, это из-за отказа конвертировать XElement в XmlElement или что-то еще? Важно уметь выделять задачи. –