gpt4 book ai didi

vb.net - 带有 Linq 语句的 XML 文字

转载 作者:行者123 更新时间:2023-12-02 06:36:31 25 4
gpt4 key购买 nike

我将执行 XSLT 转换,将 XML 转换为 HTML 表。它是表格数据,所以这就是我不使用 div 的原因。 ;)

无论如何,我需要根据我的集合之一的大小重复 XSLT 的一部分。这是代码片段...

Dim styleSheet = <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:rh="ReportHub"
exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes" />
<xsl:template match="rh:Report/rh:Tablix1/rh:Details_Collection">
<xsl:variable name="alternating-row" select="position() mod 2" />
<table class=<%= dataFormatter.formattingTableClass %>>
<xsl:choose>
<xsl:when test="count(rh:Details)=0">
<tr>
<td>There are no items listed for this client</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="rh:Details">
<tr class=<%= dataFormatter.formattingTRClass %>>
<xsl:variable name="mainrow-position" select="position()" />
<xsl:for-each select="@*">
<%= From x In dataFormatter.dataColumnSettings Select
<xsl:if test="name() != 'colName'">
<xsl:choose>
<xsl:when test="$mainrow-position=1">
<th>
<xsl:value-of select="name()"/>
</th>
</xsl:when>
<xsl:otherwise>
<td>
<xsl:value-of select="."/>
</td>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
%>
</xsl:for-each>
</tr>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</table>
</xsl:template>
</xsl:stylesheet>

问题是,因为 LINQ 查询中的 XML 引用了 xsl 命名空间,所以我得到:

Error   9   XML namespace prefix 'xsl' is not defined.

有人有什么聪明的想法吗?

  • LINQ 查询中 XML 的内部工作尚未完成,因此不必担心它是什么样子。

最佳答案

我有点惊讶这是可能的,但后来我注意到这只适用于 VB.NET,不适用于 C#。 :-) 无论如何,我看了一下 MSDN要了解有关此内容的更多信息,这有点疯狂,但我认为您需要使用单独的 Imports 语句来添加这些 namespace 。像这样的东西:

Imports <xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Imports <xmlns:msxsl="urn:schemas-microsoft-com:xslt">
Imports <xmlns:rh="ReportHub">

不过,这是一个有根据的猜测。你要求一个聪明的想法,这是我的。

关于vb.net - 带有 Linq 语句的 XML 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com