因此,在我的目标文件中,有一行如下所示:

<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,因此这不会引发错误。

也许尝试将结果作为属性而不是项目返回。

08-26 15:55