PDA

View Full Version : مشکل با نوشتن در قایل XML



A.S.Roma
جمعه 06 آذر 1388, 00:02 صبح
با سلام

من خروجی یکی از متدهام String ی در قالب XML است.حالا می خوام این استرینگ رو در فایلی با فرمت xml ذخیره کنم . از XmlTextWriter استفاده می کنم ( بدین شکل ) اما به جای کاراکترهای "<" و ">" کاراکترهای نا مفهوم چاپ می شود ! (مثل "&lt;Menus&gt;" که بایستی "<Menus>" بشد )
XmlTextWriter myWriter = new XmlTextWriter(strPath, System.Text.Encoding.UTF8);

// myWriter.WriteStartDocument();


myWriter.WriteString(xmlData);



myWriter.Flush();
myWriter.Close();

ُبا String.Replace نیز به نتیجه نرسیدم . اون قسمت کامنت هم وقتی قرار می دهم با ارور زیر مواجه می شوم :
System.InvalidOperationException: Token Content in state Prolog would result in an invalid XML document.

hoorfar
جمعه 06 آذر 1388, 00:27 صبح
برای نوشتن XML آماده که در یک String قرار داره از تابع WriteRaw استفاده کن




using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
XmlTextWriter writer = new XmlTextWriter("x.xml",System.Text.UTF8Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement("root");
writer.WriteRaw("<test>This Is Test</test>");
writer.WriteEndElement();
writer.Close();

}
}
}


تابع WriteString برای نوشتن مقدار های XML هستش نه برای نوشتن تگ های XML و به جای کاراکتر های غیر مجاز معادل های Entity اون ها رو قرار میده

A.S.Roma
جمعه 06 آذر 1388, 16:31 عصر
ممنون مشکلم حل شد. :لبخندساده: