我正在进行客户端转型。我想使用XSLT从XML中获取值并将其作为默认文本放在textarea中,它不起作用。 我有一个名为AddNewBlog.aspx的文件,它实际上是一个XML文件。它包含一个名为AddNewBlogXSL.aspx的文件,它为客户端转换提供XSL。
在AddNewBlogXSL.aspx我有
<label for="Oohrl" id="OohrlLabel">Oohrl:</label>
<input name="ctl00$RightColumn$Oohrl"
type="text" value="{/oohru/form/oohrl}"
id="Oohrl" class="textEntry"/>
<br/>
<div id="validateOohrl"/>
<label for="Description" id="DescriptionLabel">Description:</label>
<textarea name="ctl00$RightColumn$Description"
rows="4" cols="50" id="Description">
{/oohru/form/desc}
</textarea>
如果有帮助,这里是XSL文件的标题信息
<xsl:stylesheet version="1.0"><xsl:strip-space elements="*"/><!--
Type Num
1=want
2=have
3=sell
--><xsl:output method="html" indent="yes" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/><xsl:template match="/">
我的XML有这个
<oohru>
<form>
<desc>asdf</desc>
<title>a</title>
<oohrl>jordie</oohrl>
</form>
</oohru>
标题为
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="AddNewBlogXSL.aspx"?>
oohrl最终填充为正确值但是对于desc我只是得到“{/ oohru / form / desc}”
该构造似乎只是文本区域的问题
更新:这似乎只是asp.net文本区域控件的问题......
<asp:TextBox id="Description" TextMode="MultiLine"
Columns="50" Rows="4" runat="server"
ClientIDMode="Static"><xsl:value-of select="/oohru/form/desc" />
</asp:TextBox>
放置文字值
<xsl:value-of select="/oohru/form/desc" />
进入页面上的框
,而
<textarea rows="5" cols="5"><xsl:value-of select="/oohru/form/desc" /></textarea>
将实际正确的值放入文本区域....
答案 0 :(得分:0)
我能想到的最常见的情况是
您错误地声明了XSLT名称空间。使 确保你的顶部有这样的东西 样式表:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
请记住,前缀只是命名空间本身的表示。该命名空间名称必须完全,正如我上面提供的那样。