を(メモリ不足の例外の取得):私は何をしたいか空ノードのリストに子ノードを追加します。私はこれに似たXML持っ
<root>
<car name="Honda">
<part name="part1" />
<part name="part2" />
<part name="part3" />
</car>
<car name="Ford" />
<car name="Subaru" />
<car name="VW" />
<car name="Chevy">
<part name="part5" />
<part name="part6" />
<part name="part7" />
</car>
<car name="BMW" />
</root>
ても何の部品を持っていないすべての車のノードを更新し、ホンダが持っている同じ部品を追加することです。 (この例では "Chevy"は更新しないでください)
私のコードでメモリ不足例外が発生しています。
私のコードは、のようになります。私の実際のデータファイルに今
using (StreamReader sr = new StreamReader(@"C:\MyFile.xml", true))
{
XDocument xDoc = XDocument.Load(sr);
var allCars = xDoc.Descendants("root").Descendants().ToList();
var carToUse = allCars.Where(x => x.Attribute("name").Value == "Honda").FirstOrDefault();
var listCars = carToUse.Descendants("car").ToList();
var fullCars = allCars.Where(x => x.Descendants("part").Any()).ToList();
var emptyPermissions = allCars.Where(x => x.Descendants("part").Any() == false).ToList();
foreach (var perm in emptyPermissions)
{
perm.Add(listCars);
}
}
私は10人の子供を追加したいの周りに600空のノードを持つノードに。
メモリの例外が発生している必要はありません。
このエラーを解決するにはどうすればよいですか?
'xDoc.Descendants( "ルート")子孫()'(部品を含む)すべての子孫が、それ 'xDoc.Descendants( "ルート" を作る意味).Elements() '。それが何かを修正するかどうかはわかりませんが、まずコードを修正してください。あなたの 'listCars'変数もあなたの例では空です。質問をする前にデバッグしてください。 – EpicKip