将添加一些节点添加到隔离存储中的现有XML。将节点添加到隔离存储中的现有XML
using (Stream stream = myIsolatedStorage.OpenFile("History.xml", FileMode.Open, FileAccess.ReadWrite))
{
XDocument loadedData = XDocument.Load(stream);
var RootNode = new XElement("History");
var RecipentN = new XElement("RecipentName", "ABC");
var RecipentNo = new XElement("RecipentNumber", "ABABAB");
var Time = new XElement("TimeStamp", "Monday");
var MessageBody = new XElement("Message", "23");
RootNode.Add(RecipentN, RecipentNo, Time, MessageBody);
loadedData.Root.Add(RootNode);
loadedData.Save(stream);
}
}
我想我的XML会是这样
<?xml version="1.0" encoding="utf-8"?>
<History>
<RecipentName>Arslan</RecipentName>
<RecipentNumber>03336329631</RecipentNumber>
<TimeStamp>123456</TimeStamp>
<Message>ABC</Message>
</History
<History>
<RecipentName>Arslanaa</RecipentName>
<RecipentNumber>03336329631</RecipentNumber>
<TimeStamp>123456</TimeStamp>
<Message>ABC</Message>
</History
但我的代码合并到现有的XML错误
<?xml version="1.0" encoding="utf-8"?>
<History>
<RecipentName>Arslan</RecipentName>
<RecipentNumber>03336329631</RecipentNumber>
<TimeStamp>123456</TimeStamp>
<Message>ABC</Message>
<History>
<RecipentName>Java</RecipentName>
<RecipentNumber>John</RecipentNumber>
<TimeStamp>23</TimeStamp>
<Message>23</Message>
</History>
</History>
谁能请帮助我,我怎么能节点,以现有的XML哪在Isolatedstorage中。
我有没有问题要添加主根节点喜欢读史,但后来我怎么能写操作和XMLTextWritter意味着我将如何添加史根节点与作家
writer.WriteStartElement("History", "");
writer.WriteStartElement("RecipentName", "");
writer.WriteString("Arslan");
writer.WriteEndElement();
writer.WriteStartElement("RecipentNumber", "");
writer.WriteString("03336329631");
writer.WriteEndElement();
writer.WriteStartElement("TimeStamp", "");
writer.WriteString("123456");
writer.WriteEndElement();
writer.WriteStartElement("Message", "");
writer.WriteString("ABC");
writer.WriteEndElement();
// Ends the document
writer.WriteEndDocument();
writer.flush();
有没有其他的方法呢? –
我相信还有很多其他的方法。但是你想要的方式(在顶层有两个'History'节点)是无效的XML。如果你想要有无效的XML,你可以写到文件流的末尾,但我认为这是一个坏主意。 – yamen