2011-06-09 92 views
1

我試圖在gxp文件中編寫一些JavaScript代碼,並在「if」構造中的「<」字符處得到解析異常。任何想法如何逃避它?xml「<」解析錯誤

<script type="text/JavaScript"> 
var current = 0; 
var values = []; 

function goNext() { 
    if (current < values.length - 1) { 
    current = current + 1; 
    update(); 
    } 
} 
</script> 

org.xml.sax.SAXParseException:元素的含量必須包括合式字符數據或標記的。

回答

2

放在一個<![CDATA[ ...... ]]>,然後嘗試

<script type="text/javascript"> 
//<![CDATA[ 
.. 
.. 
your code 
.. 
.. 
//]]> 
</script> 
+1

打我給它。有關更多信息,請參閱http://stackoverflow.com/questions/66837/when-is-a-cdata-section-necessary-within-a-script-tag。 – 2011-06-09 18:08:31

1

<是一個XML實體。

Hide the Javascript code from XML

<script type="text/javascript"><![CDATA[ 
var current = 0; 
var values = []; 

function goNext() { 
    if (current < values.length - 1) { 
    current = current + 1; 
    update(); 
    } 
} 
// ]]></script> 
1

這是因爲你的代碼是由部分 「不保護」。

你應該嘗試

<script type="text/JavaScript"><![CDATA[ 
var current = 0; 
var values = []; 

function goNext() { 
    if (current < values.length - 1) { 
    current = current + 1; 
    update(); 
    } 
} 
]]></script> 

這樣的 「<」 會不會被當作XML。

1

使用

if (values.length - 1 > current) { 

} 

:)

+0

這將如何幫助? – 2011-06-09 18:13:10

+0

如果'<'有問題,則反轉操作數並使用'>':) – 2011-06-09 18:14:46

+0

謝謝!它與<![CDATA [......]]>一起工作。 – Ada 2011-06-09 18:36:34