עיצוב מסמך XML ו- XPath

moshe1822

New member
עיצוב מסמך XML ו- XPath

שלום אני עובד עם XML כזה האם זה נפוץ ותיקני או שצריך לשנות את העיצוב
<Elements> <Element id="1" name="שלום" /> <Element id="2" name="דוד" /> </Elements>​
עוד שאלה על XPath יש לי XML כזה
<names> <name> <client>hank</client> <id>1</id> </name> <name> <client>corry</client> <id>2</id> </name> <name> <client>david</client> <id>3</id> </name> <name> <client>james</client> <id>4</id> </name> </names>​
איך אני מוציא ב XPath את ה client ו-id בכל המסמך תודה
 

Justin Angel

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

בקשר לעיצוב של XML, המוסכמה היום היא לשמור בתת-ילדים כ-Nodes כל "מידע" ולשמור המאפיינים של ה"מידע" (גם באנגלית:MetaData) כ-Attributes. למשל, ID באמת צריך להיות Attribute כי לא מדובר במידע אמיתי, מדובר במידע שמישהו המציא כדי לתאר מידע. אבל השם לפי המוסכמה הזו צריך להיות ב-Node מקונן. נתקלת באחת מההבדלים הבולטים בין XPath ל-SQL - לא ניתן להחזיר מספר משתנה של שדות כתוצאה של שאילתא. ב-SQL אתה יכול לבחור להחזיר בין 1 ל-n נתונים, אבל ב-XPath ניתן להחזיר או נתון אחד כלשהו (ישר מהקובץ או נובע מהקובץ) או את כל ה-XmlNode. תאלץ להחזיר את כל ה-XmlNode ולגשת לילדים. תצטרך לבצע XmlDocument.SelectNodes עם שאילתת XPath ולעבור על אוסף ה-XmlNodes שהיא מחזירה.
foreach (XmlNode curNodeToIterateOver in myXmlDoc.SelectNodes("//names/name/*")) Console.Writeline("{0} - {1}", curNodeToIterateOver.FirstChild.InnerText, curNodeToIterateOver.ChildNodes[1].InnerText);​
 

moshe1822

New member
ניסתי לקשר נתונים ל DropDownList

זה לא עובד , אם זה בכלל אפשרי
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="namesXML" DataTextField="client" DataValueField="id" Width="155px" /> <asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="//names/name/*" DataFile="~/App_Data/Menu.xml" />​
 
למעלה