分離されたストレージにある既存の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>
誰でも私を助けてくださいIsolatedstorageにある既存のXMLにノードする方法。
履歴のようにメインルートノードを追加するのに問題はありませんが、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();