因此,该论坛上的某人可能对如何轻松解决此问题提供了很好的建议,我正在努力寻找可能是解决此问题的最佳方法。 下面是我的代码的摘录,它读取了传入的消息,在这种情况下,该消息是具有这样声明的XML
<Key> Avg_exkl_moms </Key>
<Value>123</Value>
<Key> Tjal_exkl_moms </Key>
<Value>321</Value>
<Key> Prov_exkl_moms </Key>
<Value>7375</Value>
<Key> Avg _moms </Key>
<Value>13</Value>
<Key> Tjal _moms </Key>
<Value>31</Value>
<Key> Prov _moms </Key>
<Value>75</Value>
<Key> Avg_ inkl _moms </Key>
<Value>456</Value>
<Key> Tjal_ inkl _moms </Key>
<Value>555</Value>
<Key> Prov_ inkl _moms </Key>
<Value>555</Value>
word文档具有相应的contentControlTagName,因此将使用7375的字段值填充Avg_inkl_moms 下面是提取文档的提取代码。
private static void FillContentControls(Dictionary<string, string> parameters, MemoryStream stream)
{
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true))
{
foreach (KeyValuePair<string, string> parameter in parameters)
{
string contentControlTagName = parameter.Key;
string newValue = parameter.Value;
IEnumerable<XElement> contentControls = wordDoc.MainDocumentPart.GetXDocument().Descendants(sdt)
.Elements(sdtContent)
.Descendants(wordText)
.Where(e => ((string)e.Ancestors(sdt)
.Elements(sdtPr)
.Elements(tag)
.Attributes(tagVal).First().Value == contentControlTagName));
int i = 0;
foreach (XElement element in contentControls)
{
element.Value = (i == 0 ? newValue : String.Empty);
i++;
}
现在我要做的是求和不同的值
Avg_exkl_moms + Tjal_exkl_moms + Prov_exkl_moms = total_exlk_moms
Avg_moms + Tjal_moms + Prov_moms = total_moms
Avg_inkl_moms + Tjal_ inkl _moms + Prov_ inkl _moms = total_ inkl _moms
然后将它们放在相应的contentControlTagName中。
有关如何处理此问题的任何建议?
答案 0 :(得分:0)
非常简单,创建了3个列表,这些列表将所有值相加,然后加总。