NBElement クラスは、メッセージ・ツリー内の構文解析された単一のエレメントを表します。 このクラスは、メッセージ・ツリーに新規エレメントを作成するための 4 つの異なる方法を提供します。
public override void Evaluate(NBMessageAssembly inputAssembly)
{
NBOutputTerminal outTerminal = OutputTerminal("Out");
NBMessage inputMessage = inputAssembly.Message;
// Create a new empty message, ensuring it is disposed after use
using (NBMessage outputMessage = new NBMessage())
{
NBMessageAssembly outAssembly = new NBMessageAssembly(inputAssembly, outputMessage);
NBElement inputRoot = inputMessage.RootElement;
NBElement outputRoot = outputMessage.RootElement;
// Optionally copy message headers, remove if not needed
CopyMessageHeaders(inputRoot, outputRoot);
#region UserCode
// Add user code in this region to create a new output message
NBElement msg = outputRoot.CreateLastChildUsingNewParser(NBParsers.XMLNSC.ParserName).CreateFirstChild(null,"Message");
NBElement el4 = msg.CreateLastChild("Element4");
NBElement el1 = msg.CreateFirstChild("Element1");
el1.SetValue("Data Value for Element1");
el4.SetValue("Data Value for Element4");
el1.CreateAfter("Element2").SetValue("Data Value for Element2");
el4.CreateBefore("Element3").SetValue("Data Value for Element3");
#endregion UserCode
// Change the following if not propagating message to the 'Out' terminal
outTerminal.Propagate(outAssembly);
}
}
ノードが適切な出力ノード (MQOutput ノードなど) に接続されていると、次のような XML メッセージがコードによって生成されます。<メッセージ>
<Element1>Data Value for Elememt1</Element1>
<Element2>Data Value for Elememt2</Element2>
<Element3>Data Value for Elememt3</Element3>
<Element4>Data Value for Elememt4</Element4>
</Message>