我有类似的情况来访问上下文属性以获取我的地图中的文件名属性。我在没有使用任何外部 functoid 的情况下执行了以下步骤。希望这可以帮助某人
脚步:
创建一个新模式说“FileSchema” FileNode(rootNode) -FileName (fieldElement)
单击架构并在属性目标命名空间中 - 清除命名空间。
区分 FileName 属性。Rt.Click FileName 并显示促销并将 FileName 添加到 Distinguished property 选项卡。
在您的目标架构中,添加字段 FileName。对我来说,我将它添加到 SQL 模式中,因为我需要数据库中每一行的文件名
在您的业务流程中,使用消息分配形状并键入以下内容
// 创建一个 System.XML.XMLDocument 类型的变量 varFileXML
// 我正在创建一个与文件架构相同的 xml,并将其加载到 XML 变量,然后将其分配给 FileSchema 类型的消息
varFileXML = new System.Xml.XmlDocument();
varFileXML.LoadXml("<FileNode><FileName>FileName_0</FileName></FileNode>");
Msg_FileSchema = varFileXML;
//获取文件名到一个字符串类型的变量
varFileName = Msg_FlatFileSchema(FILE.ReceivedFileName);
varFileName = System.IO.Path.GetFileName(varFileName);
//从消息中访问文件名属性并将变量分配给该属性
Msg_File.FileName = varFileName;
现在我们将 FileName 放入消息中,您可以在映射到目标架构时使用它
我使用变换形状创建了一个新的内联映射,其中源作为您的目标架构和文件架构,目标作为目标架构。我将文件名从文件架构映射到我的目标架构文件名属性
这是获取上下文属性的众多方法之一。希望能帮助到你
感谢和问候
西拉姆