私は次のようなXMLドキュメントを持っています:
<people>
<person>
<name>mike</name>
<address>1 main st</address>
<jobTitle>SE</jobTitme>
<children>
<name>mary</name>
<age>5</age>
</childres>
</person>
<person>
<name>john</name>
<address>2 main st</address>
<jobTitle>SE</jobTitme>
</person>
</people>`
したがって、すべての人がブロックし、子供がブロックするわけではありません。ものすごく単純。C#を介してXMLに新しい人物を追加するとき、人物オブジェクトを取得する関数を記述しており、その人物オブジェクトには子オブジェクトのコレクション(0以上の場合があります)があります。その関数でlinqを書くのに問題があります。人物オブジェクトは簡単に追加できますが、条件付きで1人以上の子を追加するのは困難です。これが私がこれまでに持っているものです:
doc.Element("People").Add(
new XElement("Person",
new XElement("Name", person.name),
new XElement("Address", person.address),
new XElement("jobTitle", person.jobTitle)))
子供が存在する場合、条件付きで追加するにはどうすればよいですか?
public class person
{
public List<Child> childList;
public string name;
public string address;
public string jobTitle
}
public class child
{
public string name;
public int age;
}