我将现有的XML存储在InternalFielStorage中作为..
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<Books>
<Author name="Sam" />
</Books>
</Root>
我试图在“作者”节点下附加一个“标题”节点但是保存的时候,我看到一个完全新的xml添加到现有的xml中作为..
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<Books>
<Author name="Sam" />
</Books>
</Root>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<Books>
<Author name="Sam" />
<Title>Test</Title>
</Books>
</Root>
我正在使用的代码..
using (IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream myStream = new IsolatedStorageFileStream(App.FileName, FileMode.Open, FileAccess.ReadWrite, myStore)) { XDocument _xDoc = XDocument.Load(myStream); XElement srcTree = new XElement("Title", "test"); _xDoc.Element("Root").Element("Books").Add(new XElement(srcTree)); _xDoc.Save(myStream);
问题:
1.如何避免将新XML附加到现有XML?
2.如何使“标题”标签位于&lt;“作者姓名=”Sam“&gt;标签下?
提前致谢。
答案 0 :(得分:1)
加载流时,位置设置为文件的最后一个字节 - 您需要在保存文件之前重置位置。
使用
执行此操作myStream.Position = 0;
_xDoc.Save(myStream);
请参阅文档here