因此,在我的目标文件中,有一行如下所示:
<XmlPeek Namespaces="" XmlInputPath="file.xml" Query="/data/@AttributeOne">
<Output TaskParameter="Result" ItemName="my_AttributeOne" />
</XmlPeek>
在“ file.xml”中,我有:
<data AttributeOne="abc" AttributeTwo="def" />
它还读取其他一些属性。
当属性具有数据时,一切正常...但是当我将AttributeOne保留为空字符串(“”)时,XmlPeek会抛出带有以下错误的数据块:
无法从“结果”参数中检索“ XmlPeek”任务的输出。参数“ includeEscaped”的长度不能为零。
如果我完全删除该属性,它将正常工作(结果项显然是空白,可以理解为空白)
问题是……如何通过不进行预测试的值,正确处理空白或其他方式来确定,不吹空空白属性的值。
约束:唯一真正的要求是坚持内置任务(XmlPeek)...我知道社区任务中的XmlRead ...出于各种原因,我想使用现成的任务。
提前致谢!
最佳答案
发生错误是因为将空字符串用作项目标识符。我猜标识符不能是空字符串。如果删除该属性,则结果为null且不创建任何Item,因此这不会引发错误。
也许尝试将结果作为属性而不是项目返回。