2011-06-09 94 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