私は様々なパーセンテージ値を持つXMLファイルを変更する作業を進めています。 1つのXMLファイルには複数の要素があります。ある特定の要素に対してパーセンテージがあり、残りの要素に残りのパーセンテージを配分する必要があります。以下は私のサンプルXMLファイルがサーバーに保存されているところです。xmlタグの複数の要素に均等にパーセンテージを配分する
<exam>
<name>Maths</name>
<percentage>100</percentage>
</exam>
<exam>
<name>Physics</name>
<percentage>70</percentage>
</exam>
<exam>
<name>Chemistry</name>
<percentage>70</percentage>
</exam>
私は1つの特定の被験者のパーセンテージ値を持っています。例えば、私は数学のパーセンテージ値を持っており、それをハードコーディングすることによって、以下のコードを使って数学のパーセンテージ値を更新しました。
foreach (XElement xmltag1 in xmltag.Descendants(subsection))
{
if (xmltag1.Element("name").Value.Equals("Maths"))
{
xmltag1.Element("percentage").Value = "75";
}
}
今私は小数と整数とないと理化学用で、残りの被験者のパーセント値を更新する必要があります。だから私はそれのために以下のロジックを使用しています。
int totalsections = subclasscount;
// subclass count is a method which would return the total number of subclasses inside a particular xml tag. I have that method available with me
int remainingallocatedpercentage = 25/totalsections;
foreach (XElement xmltag1 in xmltag.Descendants(subsection))
{
if ((remainingallocatedpercentage % 1) == 0)
{
if (!xmltag1.Element("name").Value.Equals("Maths"))
{
xmltag1.Element("percentage").Value = remainingallocatedpercentage;
}
}
else
{
}
}
私はelseパスの処理方法についてはあまりよく分かりません。だから私はそれを実装するロジックが必要です。私は他のどのような主題価値が利用可能であるのか分からないことを知らせたいと思います(物理学のように化学は動的で静的ではない複数の科目があります)ので、残りのパーセンテージをすべての科目に均等に配分する必要があります。
質問は、あなたはelse節で何をしたいですか? – Marco
Marcoは混乱して申し訳ありません。私は今質問を編集しました。今、あなたは私が正確に必要なものを見つけ出すことができるはずです。 – stangada
else節では、残りの件数にパーセンテージを整数で割り当てたいと思っています。数学のために私は75割り当てられているので、私は物理学の22と化学23の割り当てたい。 – stangada