0

我有一个像这样创建 XML 节点的代码

foreach(var books in booksCollection)
            {
                XmlText bookTitle = xmlDoc.CreateTextNode(books.bookTitle);
                bookTitle.AppendChild(bookTitle);

                XmlText companyTitle = xmlDoc.CreateTextNode(books.companyTitle);
                CompanyTitle.AppendChild(companyName);

                XmlText author = xmlDoc.CreateTextNode(books.author);
                Author.AppendChild(author);
            }

我正在使用列表,因为有很多数据。现在在 XSLT 中使用“position()”,我可以根据列表计数打印出数据。IE 如果有 3 个项目,它将打印出 3 个项目,如下所示:

  <xsl:for-each select="bookInfo" >  // my code
                <xsl:number value="position()"/>
                <xsl:value-of select="bookTitle" /><br/>
                <xsl:value-of select="companyTitle" /> <br/>
                <xsl:value-of select="author" /><br/>
            </xsl:for-each>

问题是使用“position()”的输出是否有我不想要的编号。我如何打印没有编号的列表?任何帮助将不胜感激。谢谢。

1a_bookTitle   //--> a_bookTitle instead of 1a_bookTitle
a_companyTitle
an_author

2b_bookTitle //--> b_bookTitle instead of 2b_bookTitle
b_companyTitle
ban_author

3c_bookTitle  //--> c_bookTitle instead of 3c_bookTitle
c_companyTitle
can_author
4

1 回答 1

0

除非我遗漏了什么,否则只需删除此行

 <xsl:number value="position()"/>

xsl:number将简单地输出数字,但不控制选择哪些元素。

于 2012-12-07T13:05:18.373 回答