פורסם 2007 בנובמבר 618 שנים יש לי קובץ XML שנראה ככה:<?xml version="1.0" encoding="utf-8" ?><gallery> <pic filename="apple.jpg"> <title>red apple</title> <description>this apple is red</description> </pic> <pic filename="banana.jpg"> <title>yellow banana</title> <description>this banana is yello</description> </pic></gallery>לא משנה מה אני מנסה לעשות אני פשוט לא מצליח לסנן את הנתונים כדי שאני אשלח שם קובץ ואוציא את ה Title וה Description שלו.אין לי בעיה לשנות את הקובץ XML אם המבנה שלו לא טוב.אני אשמח אם תוכלו להראות לי דוגמא כולל איתחולי ה XPathDocument, XPathNavigator וכל אלו – למקרה שאני עושה שם משהו לא טוב...
פורסם 2007 בנובמבר 618 שנים מחבר הממממ... אני אחרי מליון נסיונות, אז אני לא כ"כ בטוח שזו הגרסא הטובה ביותר שהייתה לי (עשיתי גם כמה סינונים מסביב כדי להעיף הרבה זבל שלא קשור...), אבל הנה:string xmlFile = Server.MapPath(Year + "/" +Month + "/" + Day +"/desc.xml");XPathDocument xmlDoc = new XPathDocument(xmlFile);XPathNavigator xmlNav = xmlDoc.CreateNavigator();DirectoryInfo di = new DirectoryInfo(Server.MapPath(Year + "/" + Month + "/" + Day + "/img"));FileInfo[] rgFiles = di.GetFiles("*.jpg");foreach (FileInfo pic in rgFiles){XPathExpression xmlExpr;xmlExpr = xmlNav.Compile("/gallery/pic[@filename='"+ pic.Name +"']/title"); XPathNodeIterator xmlIterator = xmlNav.Select(xmlExpr);Response.Write(xmlIterator.Current.Value);}[br]פורסם בתאריך: 6.11.2007 בשעה 09:51:25טוב מצאתי פתרון לבעיה
פורסם 2007 בנובמבר 618 שנים מחבר אני יותר מאשמח לשמוע הערות והצעות לשיפור.זו דוגמא של איך להביא את שדה ה Title מקובץ ה XMLusing System.Xml;using System.Xml.XPath;XPathDocument xmlDoc = new XPathDocument(XmlPath); XPathNavigator xmlNav = xmlDoc.CreateNavigator(); XPathNodeIterator xmlIter;string xmlExpr; xmlExpr = "/gallery/pic[@filename='"apple.jpg"']/title"; xmlIter = xmlNav.Select(xmlExpr); xmlIter.MoveNext();
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.