我有以下 xml:
<Users>
<User ID="User1"
<Element1>Name1<Element1>
</User>
<User ID="User2"
<Element1>Name2<Element1>
</User>
<User ID="User3"
<Element1>Name3<Element1>
</User>
</Users>
此 XML 是在 SSIS 中创建并存储在字符串变量中的。 在执行下一步之前,我需要对用户节点进行计数,并且我想使用脚本任务来执行此操作。这是我认为我需要做的
// assign string to a variable
String XMLString = Dts.Variables["User::XMLString"].Value
// Convert variable to xml data type:
XmlSerializer serializer = new XmlSerializer(XMLString );
//Count the user nodes and assign integer to a variable.
Dts.Variables["User::UserCount"].Value = serializer.SelectNodes("Users/User").Count;
我一直在尝试弄清楚如何做到这一点,但我对 C# 还很陌生,我真的需要一个关于此的示例。 谢谢!
最佳答案
你可以这样做:
string XMLString = Dts.Variables["User::XMLString"].Value;
Dts.Variables["User::UserCount"].Value = (Regex.Matches(XMLString, @"</User>")).Count;
请参阅 this link 中的代码.
关于c# - 计算 XML 节点脚本任务 SSIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44289307/