当&符号逃脱时COBOL精确的长度(XML-TEXT)?

时间:2012-07-17 14:55:18

标签: xml-parsing cobol

我正在使用XML的内部函数XML-PARSE,如下所示:

<MSGBODYTXT>
 <LN>One &amp; two</LN>
</MSGBODYTXT>

根据我的计算,以下字符串长度为13个字节。

  "One &amp; two" 

但是当我拿$ 长度(XML-TEXT)$ 我只得到9个字节。

如何获得正确的13字节长度?

1 个答案:

答案 0 :(得分:4)

问题是XML PARSE将&amp;转换为它所代表的字符,即&符号。如果 您会看到与CONTENT-CHARACTERS标记相关联的<LN>,您会看到:One & two 长度为9个字符,就像LENGTH OF上的XML-TEXT运算符所说的那样。

请注意,如果您对数据项LN使用值为One & two的XML GENERATE 它将生成<LN>One &amp; two</LN>这是一个对称操作。