所以在我的目标文件中,我有一行看起来像这样:
<XmlPeek Namespaces="" XmlInputPath="file.xml" Query="/data/@AttributeOne">
<Output TaskParameter="Result" ItemName="my_AttributeOne" />
</XmlPeek>
在“file.xml”中,我有:
<data AttributeOne="abc" AttributeTwo="def" />
它还会读取其他一些属性。
当属性有数据时,一切正常......但是当我将AttributeOne作为空字符串(“”)时,XmlPeek会出现以下错误:
无法从“Result”参数中检索“XmlPeek”任务的输出。参数“includeEscaped”的长度不能为零。
如果我完全删除属性,它可以正常工作(结果项显然是可以理解为空白)
问题是......如何在没有吹出块的情况下确定空白属性的值......是通过预先测试值,还是通过正确处理空白或其他方法。
约束:唯一真正的要求就是坚持内置任务(XmlPeek)......我知道社区任务中的XmlRead ......出于各种原因,我想要使用外部任务-box任务。
提前致谢!
答案 0 :(得分:1)
发生错误是因为空字符串被用作项标识符。我猜标识符不能是空字符串。如果删除该属性,则结果为null,并且不创建任何Item,这就是为什么不会抛出错误。
也许尝试将结果作为Property而不是Item返回。
答案 1 :(得分:0)
如果您不需要区分被省略的属性与具有空值的属性,则可以通过将条件The HTTP method 'OPTIONS' of the incoming request (with URI 'http://foo:0451/bar/Login') is not allowed.
插入查询来防止错误,如下所示。
[@AttributeOne!='']