')' 字符,十六进制值 0x29,不能包含在名称中
The ')' character, hexadecimal value 0x29, cannot be included in a name
我在以编程方式为共享点计算字段设置公式时遇到问题,这是我生成的 xml:
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula>=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")</Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
它给了我错误:“)”字符,十六进制值 0x29,不能包含在名称中。我必须转义括号吗?
在 Formula
元素内,您需要使用 <
...
转义 <
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula>=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")</Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
如果您有文字 &
个字符,您还需要使用 &
对这些字符进行转义。
另一种选择是将内容包装在 CDATA 中...
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula><![CDATA[=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")]]></Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
我不确定您是否希望在公式中使用文字 "
。如果不是,请在 CDATA 部分将它们更改为 "
。
我在以编程方式为共享点计算字段设置公式时遇到问题,这是我生成的 xml:
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula>=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")</Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
它给了我错误:“)”字符,十六进制值 0x29,不能包含在名称中。我必须转义括号吗?
在 Formula
元素内,您需要使用 <
...
<
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula>=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")</Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
如果您有文字 &
个字符,您还需要使用 &
对这些字符进行转义。
另一种选择是将内容包装在 CDATA 中...
<Field ID='3bc3a7ac-a5bc-49e0-b430-a987ddac42f7' Type='Calculated' Name='Comparison' StaticName='Comparison' DisplayName='Comparison' ResultType='Text' Required='TRUE' ReadOnly='TRUE'>
<Formula><![CDATA[=IF(AND(CampoA>CampoB,CampoA<CampoC),"OK","Not OK")]]></Formula>
<FieldRefs>
<FieldRef Name='CampoC'/>
<FieldRef Name='CampoB'/>
<FieldRef Name='CampoA'/>
</FieldRefs>
</Field>
我不确定您是否希望在公式中使用文字 "
。如果不是,请在 CDATA 部分将它们更改为 "
。