نوشته شده توسط
KooRoSH_irooni
سلام.دوستان من میخوام یک سری اطلاعات رو تو یه فایل xml ذخیره کنم..اینجوری نوشتم: فایل ایجاد میشه و باز هم میشه ولی خط اول xml یا همون version رو خودش اضافه نمی کنه...از اونجایی که من تقریبا هیچ اطلاعی راجب این نوع فایل ها ندارم اگه لطف کنین یه توضیحی بدین که آیا به مشکل بر می خورم؟خودم خط اولش رو دستی اضافه کنم؟چون این فایل قراره بخشی از خروجی یک پروژه باشه و باید استاندارد باشه وقتی تحویلش میدم تا ترف هم به مشکل بر نخوره...
سلام.
باید به این شکل عمل کنید:
XmlDocument doc = new XmlDocument();
XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.InsertBefore(xmlDeclaration, doc.DocumentElement);
XmlElement root = doc.CreateElement("Books");
doc.AppendChild(root);
XmlElement book = doc.CreateElement("Book");
book.InnerText = "My Book";
root.AppendChild(book);
XmlElement name = doc.CreateElement("Name");
name.InnerText = "Book's Name";
root.AppendChild(name);
doc.Save("d:\\temp0.xml");
اما اگر استفاده از LINQ براتون امکان پذیره، میتونید جای کد بالا، از این کد استفاده کنید:
XElement xml = new XElement("Books",
new XElement("Book", "My Book"),
new XElement("Name", "Book's Name")
);
xml.Save("d:\\temp1.xml");
دقت کنید که در هر دو پیاده سازی، XML Declaration به فایل اضافه میشه. به بیان دیگه، هر دو روش این خروجی رو تولید خواهند کرد:
<?xml version="1.0" encoding="utf-8"?>
<Books>
<Book>MyBook</Book>
<Name>Book's Name</Name>
</Books>
موفق باشید.