ورود

View Full Version : حرفه ای: درج فرمت خاص در XML



Mohandes2009
سه شنبه 29 شهریور 1390, 16:48 عصر
سلام هر چی گشتم چیزی پیدا نکردم

میخوام اطلاعاتی از یک جدول دیتا بیسم بخونم در فایل XML به یه فرمت خاص ذخیره کنم به این فرمت :


<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' decimalPrecision='0'
formatNumberScale='0' chartRightMargin='30'>
<set name='Jan' value='462' color='AFD8F8' />
<set name='Feb' value='857' color='F6BD0F' />
<set name='Mar' value='671' color='8BBA00' />
<set name='Apr' value='494' color='FF8E46'/>
<set name='May' value='761' color='008E8E'/>
<set name='Jun' value='960' color='D64646'/>
<set name='Jul' value='629' color='8E468E'/>
<set name='Aug' value='622' color='588526'/>
<set name='Sep' value='376' color='B3AA00'/>
<set name='Oct' value='494' color='008ED6'/>
<set name='Nov' value='761' color='9D080D'/>
<set name='Dec' value='960' color='A186BE'/>
</graph>


من کد زیر را نوشتم

در رویداد لود صفحه ام



XDocument xmlDoc = XDocument.Load("ChartXML.xml");


var q2 = from c in linq.TGNazarsanjis
where c.Id_Nazarsanji == Convert.ToInt32(Request.QueryString["Code"])
select c;
int goz = q2.Count();


if (goz > 0)
{
int i = 1;

foreach (TGNazarsanji item2 in q2)
{
xmlDoc.Element("graph").Add(new XElement("set", new XElement("name", item2.Gozine),
new XElement("value", item2.Rang)));
i++;
}
}

xmlDoc.Save("ChartXML.xml");


ولی ارور میده و نمیتونه فایل XML را در خط اول باز کنه
البته یه فایل XML ایجاد کردم که داخلش خودش خط زیر را نوشته بود

<?xml version="1.0" encoding="utf-8" ?>

لطفا کمک کنید!

raziee
چهارشنبه 30 شهریور 1390, 10:16 صبح
این لینک (http://www.dotnetperls.com/xmlwriter) رو ببینید

mehdi.mousavi
چهارشنبه 30 شهریور 1390, 12:25 عصر
سلام.
مسیر فایل رو درست تعیین کنید:

XDocument xmlDoc = XDocument.Load(Server.MapPath("ChartXML.xml"));

موفق باشید.


Update: البته من برداشت دیگری نیز از عبارت "ولی ارور میده و نمیتونه فایل XML را در خط اول باز کنه البته یه فایل XML ایجاد کردم که داخلش خودش خط زیر را نوشته بود" کردم و اون هم اینکه فایل پیدا میشه، اما بهتون خطا میده که Parse کردن در Postion 1 فایل متوقف شده و ... که اگر این باشه، این خطا بدلیل عدم هماهنگی XML Encoding و داده های موجود در فایل هستش. برای اطلاعات بیشتر در این مورد، لطفا به این آدرس (http://stackoverflow.com/questions/310669/why-does-c-xmldocument-loadxmlstring-fail-when-an-xml-header-is-included) مراجعه کنید.