1
所以我有這個代碼塊是If/Else的一部分,如果正在寫入的文件已經存在,它應該附加到文檔。但它似乎是添加了一個新的xml聲明和根元素,就好像它是一個新文件一樣。代碼如下所示:XDocument將新文檔聲明添加到XML文件
{
FileStream fs = new FileStream(configFile, FileMode.Open);
XDocument xD = XDocument.Load(fs);
XElement root = xD.Element("Store");
root.Add(
new XElement("template", new XElement("filePath", tmp.TempPath),
new XElement("Name", tmp.TempName),
new XElement("description", tmp.TempDesc)));
xD.Save(fs);
fs.Flush();
fs.Dispose();
}
在此塊的第二遍,就出現了錯誤,指出存在的文件中一個無效的XML聲明.....它看起來像這樣:
<?xml version="1.0" encoding="utf-8"?>
<Store>
<template>
<filePath>.\templates\balls.html</filePath>
<Name>Balls</Name>
<description>Benoit</description>
</template>
</Store><?xml version="1.0" encoding="utf-8"?>
<Store>
<template>
<filePath>.\templates\balls.html</filePath>
<Name>Balls</Name>
<description>Benoit</description>
</template>
<template>
<filePath>.\templates\benoit.html</filePath>
<Name>benoit</Name>
<description>balls</description>
</template>
</Store>
我有一個偷偷摸摸的懷疑,我沒有正確使用LINQ的XML。
OMG這是完美的!謝謝! –