עריכת מסמך xml בתוך עמוד web

עריכת מסמך xml בתוך עמוד web

יש לי קובץ xml אני מעוניין לתת למשתמש שלי לערוך אותו קרי, הוספה שינוי ומחקיה של שדות. כיצד עושים זאת ועם איזה פקד?
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

השאלה שלך מאוד לא ברורה. לא ברור אם אתה רוצה לתת למשתמש לערוך את הטקסט של ה-XML או רוצה להציג לו ממשק גרפי שדרכו הוא עורך את ה-XML. לא ברור אם אתה מנסה להוסיף עוד "נתונים" (תגיות) לתוך אלמנטים קיימים (שלמעשה הם אלו "שדות" בקובץ XML) או שאתה מנסה לתת למשתמש להוסיף עוד אלמנטים ראשיים בתוך הקובץ XML. אני אנחש כי מדובר בזה שיש לך קובץ XML עם תבנית קבועה ואתה רוצה להוסיף עוד אלמנטים ראשיים. למשל קובץ XML עם תגית <books> שמכילה תגיות <book> ואתה רוצה לאפשר למשתמש להוסיף ולמחוק ספרים מהקובץ. הדרך הפשוטה ביותר היא לטעון את ה-XML לתוך DataSet באמצעות myDataSet.LoadXml שיקבל נתיב לקובץ ה-XML ולקבוע את הטבלה הראשונה ב-DataSet כמקור המידע של GridView ואחרי כל השינויים לשמור בחזרה לקובץ XML.
private void LoadDataFromXml() { myDataSet.LoadXml(@"c:\myXml.xml"); myGridView.DataSource = myDataSet.Tables[0].DefaultView; myGridView.DataBind(); } private void SaveDAtaToXml(){ myDataSet.SaveXml(@"c:\myXml.xml"); }​
 
אז ככה

קודם כל תודה, שנית, אני מעוניין לתת למשתמש שלי להוסיף שדות חדשים כלומר ערך ושדה. אני מעוניין להציג ממשק גרפי (בצורת טבלה ושדות שטסט למשל) ולא לבצע עריכה על קובץ הxml. למשל:קובץ הxml שלי נראה כך:
<?xml version="1.0" encoding="utf-8" ?> - <language> <languageName>English</languageName> <crossQuizAdmin>crossQuiz Administration</crossQuizAdmin> <languageEditor>Language Editor</languageEditor> <languageList>Languages</languageList> </language>​
אני מבין שgridview מאפשר צפיה. האם ניתן גם לערוך איתו בצורה טבלאית או שכדאי להשתמש עם פקד אחר?
 

yairov

New member
תגובה

string filename = Server.MapPath("XMLFile.xml"); XmlDocument doc = new XmlDocument(); doc.Load(filename); XmlElement element = doc.CreateElement("elementName"); element.InnerText = "elementValue"; XmlNode rootElement = doc.SelectSingleNode("/language"); rootElement.AppendChild(element); doc.Save(filename);​
 
למעלה