我们在C#上使用IronPython,并在控制台和应用程序上获得不同的结果。IronPython,C#和XML - 打破缩进?
此代码运行正常的IronPython的控制台:
str=[]
a = 1
b = 0
c = 1
if a==1:
str.append('One')
if b==1:
str.append('Two')
if c==1:
str.append('Three')
out=','.join(str)
print out
但相同的代码返回一个错误,在我们的应用程序:
unexpected token 'if'
我怀疑问题出在我的新行,因为字符串包含Python代码通过XML(XML> C#> Python)传递:
<Set key="PythonCode" value="ipy:str=[]
a = 1
b = 0
c = 1
if a==1:
str.append('One')
if b==1:
str.append('Two')
if c==1:
str.append('Three')
out=','.join(str)"/>
其他com mands返回预期的结果,我的问题是与缩进的命令(条件,循环)。因为我无法访问C#代码,所以我寻找一种方法来编写单行或其他任何不依赖缩进或换行符的方式。 我尝试这样做:
<Set key="PythonCode" value="ipy:str=[];
a = 1;
b = 0;
c = 1;
if a==1: str.append('One');
if b==1: str.append('Two');
if c==1: str.append('Three');
out=','.join(str);"/>
,但我得到了一次同样的错误,因为应该有每个条件后,一个空行。
任何想法?
“包含Python代码的字符串通过XML传递”为什么会发生这种情况? – 2012-04-22 11:04:20
XML是我们设计人员应用程序的接口。由于他们不是程序员,他们只是创建和修改XML文件,使他们更容易理解。在这种情况下,我们需要实现一个Python代码,并且这是传递需要运行的代码的唯一方法。 – GuyB7 2012-04-22 11:28:03
如果他们不是程序员,那么他们如何将Python嵌入到您的XML中? – 2012-04-22 11:39:00