PDA

View Full Version : سوال: خواندن خط به خط فایل xml در asp.net



mohammadyaser
چهارشنبه 28 دی 1390, 11:02 صبح
با سلام من یک فایل xml دارم که می خوام هر کاربری که به وب سایت وارد شد نام کاربری و نام دیتابیس اون در این فایل ذخیره بشه
تکه کد زیر رو برای این کار نوشتم
//pick whatever filename with .xml extension
string filename = Server.MapPath("xml/xmlfile.xml");
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(filename);
}
catch (System.IO.FileNotFoundException)
{
//if file is not found, create a new xml file
XmlTextWriter xmlWriter = new XmlTextWriter(filename, System.Text.Encoding.UTF8);
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'");
xmlWriter.WriteStartElement("Root");
xmlWriter.Close();
xmlDoc.Load(filename);
}
XmlNode root = xmlDoc.DocumentElement;
XmlElement childNode = xmlDoc.CreateElement("childNode");
XmlElement childNode2 = xmlDoc.CreateElement("SecondChildNode");
XmlElement childNode3 = xmlDoc.CreateElement("threeChildNode");

XmlText textNode1 = xmlDoc.CreateTextNode("hello");
textNode1.Value = "hello, world";
root.AppendChild(childNode);
childNode.AppendChild(childNode2);
childNode2.SetAttribute("Name", "username");
XmlText textNode = xmlDoc.CreateTextNode("hello");
textNode.Value = "hello, world";
childNode2.AppendChild(textNode);
textNode.Value = t1.Text;
childNode.AppendChild(childNode3);
childNode3.SetAttribute("Name", "dbname");
childNode3.AppendChild(textNode1);
textNode1.Value = t2.Text;
xmlDoc.Save(filename);


و فایل به مثلا برای زمانی که دو کاربر وارد شدند این شکلی میشه
<?xml version="1.0" encoding="utf-8"?>
<userInfo>
<browserInfo>
<urlReferrer>/WebSite1at22.6%20-%20beforechange%20report%20and%20login/Default.aspx</urlReferrer>
<userAgent>Mozilla/5.0 (Windows NT 6.0; rv:8.0.1) Gecko/20100101 Firefox/8.0.1</userAgent>
<userLanguages>en-us, en;q=0.5</userLanguages>
</browserInfo>
<visitInfo timeVisited="01/17/2012 02:25:02 ق.ظ">
<ip>127.0.0.1</ip>
<rawUrl>/WebSite1at22.6 - beforechange report and login/Default.aspx</rawUrl>
</visitInfo>
<childNode>
<SecondChildNode Name="username">user1</SecondChildNode>
<threeChildNode Name="dbname">db1</threeChildNode>
</childNode>
<childNode>
<SecondChildNode Name="username">user2</SecondChildNode>
<threeChildNode Name="dbname">db2</threeChildNode>
</childNode>

</userInfo>

حالا من می خوام در یک حلقه به username,dbnameهای درون xml دسترسی داشته باشم تا بتونم اطلاعات یک فرد خاص رو در اون پیدا کنم.
ممنون می شم کمک کنید البته به صورت کد همراه با توضیحات.چون من هیچی xml بلد نیستم.
بسیار بسیار سپاسگزارم