सबसे आसान तरीका शायद एक एक्सडॉक्यूमेंट.लोड(), चारों ओर लिंक, फिर XDocument.Save() है। एक त्वरित परीक्षण एप्लिकेशन से (गैर निपटारा संसाधनों पर आसान जाना):
XDocument writeContacts = new XDocument(
new XElement("contacts",
new XElement("contact",
new XElement("name", "Patrick Hines"),
new XElement("phone", "206-555-0144",
new XAttribute("type", "home")),
new XElement("phone", "425-555-0145",
new XAttribute("type", "work")),
new XElement("address",
new XElement("street1", "123 Main St"),
new XElement("city", "Mercer Island"),
new XElement("state", "WA"),
new XElement("postal", "68042")
)
)
)
);
Rijndael RijndaelAlg = Rijndael.Create();
FileStream writeStream = File.Open("data.xml", FileMode.Create);
CryptoStream cStream = new CryptoStream(writeStream,
RijndaelAlg.CreateEncryptor(RijndaelAlg.Key, RijndaelAlg.IV),
CryptoStreamMode.Write);
StreamWriter writer = new StreamWriter(cStream);
writeContacts.Save(writer);
writer.Flush();
writer.Close();
FileStream readStream = File.OpenRead("data.xml");
cStream = new CryptoStream(readStream,
RijndaelAlg.CreateDecryptor(RijndaelAlg.Key, RijndaelAlg.IV),
CryptoStreamMode.Read);
XmlTextReader reader = new XmlTextReader(cStream);
XDocument readContacts = XDocument.Load(reader);
//manipulate with Linq and Save() when needed
CryptoStream में स्वैप अपने पसंदीदा ICryptoTransform।
स्रोत
2008-11-06 05:21:26
क्या आप यह स्पष्ट कर सकते हैं कि आप क्या करना चाहते हैं? क्या पूरे दस्तावेज़ को स्मृति में पढ़ने, इसे चलाने के लिए पर्याप्त है, फिर इसे फिर से लिखना पर्याप्त है - या क्या आपको फ्लाई पर पढ़ने/लिखने में सक्षम होना चाहिए? – tvanfosson