2013-03-18 46 views
0
<xsl:value-of select="jobpageno"/> 

上面的代碼沒有錯誤,它可以成功運行並顯示頁面。href鏈接中的xslt參數錯誤

但是,下面的代碼出現錯誤,刪除後& PageNo = {@ jobpageno},然後顯示成功。

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={@jobpageno}" target="_top"> 

有什麼不對包含該參數

在解析實體名稱出現錯誤此鏈接。行58,位置103

它應該顯示hello.com/description.aspx?ID=753561 &您做生意= 1

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={jobpageno}" target="_top"> 

也得到了錯誤

您做生意只是元件的一個

<jobresults jobcount='1'> 
<header1><![CDATA[ IT Jobs]]></header1> 
<header2><![CDATA[1 Results for ' IT' in Asia]]></header2> 
<entity id='753561' index='1'> 
<position><![CDATA[Ecommerce Project Manager]]></position> 
<jobCountry><![CDATA[Singapore]]></jobCountry> 
<posteddate><![CDATA[January 2013]]></posteddate> 
<JobDefaultRole><![CDATA[Contract]]></JobDefaultRole> 
<jobTypeDesc><![CDATA[Jobs In IT]]></jobTypeDesc> 
<jobDetails><![CDATA[ Ecommerce Project Manager Client Description Our ...]]></jobDetails> 
<jobpageno><![CDATA[1]]></jobpageno> 
</entity> 
</jobresults> 


<xsl:for-each select="jobresults/entity"> 
       <xsl:choose> 
       <xsl:when test="position() mod 2 = 0"> 
        <tr class="odd"> 
        <td> 
         <a href="http://www.hello.com/job-description.aspx?jobID={@id}&jobPageNo={@jobpageno}" target="_top"> 
         <xsl:value-of select="position"/> 
         <xsl:value-of select="jobpageno"/> 
         </a> 
        </td> 
+0

如果你真的說出你得到的錯誤是有幫助的,因爲這總是提供有用的信息。謝謝! – 2013-03-18 08:18:48

+0

另外,你可以顯示你實際從變換中獲得的輸出。 – 2013-03-18 08:36:21

+0

我更新了一個xml輸出,它傳遞給xslt – 2013-03-18 08:38:26

回答

2

XSLT文件也必須是合式的XML,所以你需要躲避&

<a href="http://www.hello.com/description.aspx?ID={@id}&amp;PageNo={jobpageno}" target="_top"> 

你看到實際的錯誤信息是因爲解析器看到&PageNo作爲一個實體的開始引用,但不能找到終止分號。

+0

;當request.querystring [「ID」]得到錯誤的東西時,752781; jobPageNo = 2; jobPageNo = – 2013-03-18 10:15:26

+0

它需要手動解析使用子串 – 2013-03-18 10:21:22

+0

@OvO您是使用';'分隔項目還是'&'?它應該是後者,如果你使用它,ASP.NET應該能夠處理這些值。 – JLRishe 2013-03-18 11:26:59

1

這可能只是你的問題中的一個錯字,但在你的第一個XSLT樣本中,你使用pageno,這意味着它是一個elem但是在您的第二個XSLT示例中,您執行@pageno這意味着它正在查找屬性。

也許你的意思是要做到這一點:

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={pageno}" target="_top"> 

注意,沒有什麼實際不對您的XSLT樣的語法。如果您引用了一個不存在的屬性,它將僅輸出爲空白,並且所有會發生的都是href屬性不會像您期望的那樣完整。

編輯:從查看您修改的問題,既沒有屬性或稱爲pageno的元素。也許你的意思是使用jobpageno

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={jobpageno}" target="_top"> 
+0

刪除@後出現同樣的錯誤,解析EntityName時發生錯誤。 58行,位置103 – 2013-03-18 08:34:21

+0

它應該顯示http://www.hello.com/description.aspx?ID=753561&PageNo=1 – 2013-03-18 08:37:05

+0

也許是因爲你的XML包含「jobpageno」而不是「pageno」? – 2013-03-18 08:42:54