xml到c ++:处理转义字符< =

时间:2010-10-14 23:15:52

标签: c++ xml

我正在使用xsl将数据从xml转换为C ++代码。当我在需要转换为C ++代码的xml文件中使用< =或> =时,我遇到了问题。

例如,如果我有(在.xml文件中)

 
<Check>max(x,y) <= 20 </Check>
 

和.xsl文件是


if(<xsl:value-of select="Check"/>") {
...
}

但是当看到&lt; =时,这不会编译为XML错误。

我在xml文件中尝试了&amp; lt; =但是我没有得到&lt; =在C ++文件中但我得到&amp; lt; =。为了方便用户,我需要在中使用&lt; =

如何在if()条件下修复代码,以便我可以处理xml中的所有转义字符并将它们正确输出到C ++文件?

由于 阿南德

2 个答案:

答案 0 :(得分:3)

您是否在样式表中设置了xsl:output元素?默认情况下,XSLT认为其输出是XML,并将转义字符。试试这个:

<xsl:output method="text" />

答案 1 :(得分:1)

你不能拥有&lt;登录XML文件 - 如果你这样做,它不是一个XML文件,也不会被其他编辑器等解析。所以我认为你需要使用&amp; lt; =策略并在阅读后解析字段以替换&amp;具有C代码中所需字符的序列。