כותב |
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 01 October 2007 בשעה 16:15 | | IP רשוּם
|
|
|
|
שלום,
יש לי קובץ עם נתונים בXML, יש לי תוכנה שכתובה בC#(לצורך העניין WinForm, ואני מעוניין לקרוא את המידע. איך אני עושה את זה?
איך אני עובד בC# מול קיבצי XML?
תודה.
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 01 October 2007 בשעה 16:53 | | IP רשוּם
|
|
|
|
בגרסה 3 של השפה (רוב הסיכויים שלא זה מה שמתאים לך) יש XLINQ ב-
System.Xml.Xlinq והוא כולל XDocument, XElement, XNode וכו' וכו'...
בגרסאות קודמות (וחדשות) יש את מחרב השמות System.Xml, יש READER שקורא
לאט לאט את הקובץ ואתה רואה בו מה אתה קורא כל פעם, ויש READER שטוען מסמך
שלם ואתה יכול לעבור עליו כמה פעמים.
הראשון הוא XmlReader והשני XmlDocument שיש לו מתודה Load
חפש דוגמאות קוד בגוגל
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 01 October 2007 בשעה 17:14 | | IP רשוּם
|
|
|
|
שאלה נוספת בנושא WinForm.
איך אני עושה open file? כאילו אני רוצה למצוא את הקובץ הxml בHD, אז איך אני בונה כפתור טעינה?
..ותודה על התשובה הקודמת, ממש עזר!
|
חזרה לתחילת העמוד |
|
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 01 October 2007 בשעה 17:21 | | IP רשוּם
|
|
|
|
קוד:
OpenFileDialog ofn = new OpenFileDialog (); ofn.Filter = "C Sharp Files (*.cs)|*.cs|Text Files (*.txt)|*.txt"; ofn.Title = "Type File"; while (true) { if (ofn.ShowDialog () == DialogResult.Cancel) return; FileStream strm; try { strm = new FileStream (ofn.FileName, FileMode.Open, FileAccess.Read); StreamReader rdr = new StreamReader (strm); while (rdr.Peek() >= 0) { string str = rdr.ReadLine (); Console.WriteLine (str); } } catch (Exception) { MessageBox.Show ("Error opening file", "File Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } ofn.Title = "Next File to Type"; }
|
|
|
מצאתי.. :).. אופס
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 01 October 2007 בשעה 20:07 | | IP רשוּם
|
|
|
|
אה הא, יפה ששלחת את הפתרון, פעם הבאה נושא חדש בנושא חדש
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 01 October 2007 בשעה 21:15 | | IP רשוּם
|
|
|
|
אני צריך לשלוף מקובץ XML, את הערך\אלמנט שנמצא ב"trip_cashflow\item\debit".
איך אני כותב את הפקודה?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 01 October 2007 בשעה 22:54 | | IP רשוּם
|
|
|
|
תלוי אם זה לטעינה של נתון אחד ויחיד או כמה נתונים, למקרה כזה הייתיה משתמש ב-xpath
XML
קוד:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<child id="1"></child>
<child id="2">
<subchild id="3">
<title>Title Hoes Here...Thanks For Reading...</title>
</subchild>
</child>
</root> |
|
|
קוד:
using System;
using System.Xml;
using System.Xml.XPath;
class Program
{
static void Main(string[ ] args)
{
XPathDocument doc = new XPathDocument(@"..\..\test.xml");
XPathNavigator nav = doc.CreateNavigator().SelectSingleNode("/root/child[2]/subchild/title");
Console.WriteLine(nav.Value);
}
} |
|
|
כמו שאמרתי גם קודם, אתה מכיא מפה את המחלקות קצת,
תחפש כמה דוגמאות קוד איתן...
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 02 October 2007 בשעה 02:00 | | IP רשוּם
|
|
|
|
אני אסביר מחדש ת'בעיה שנוצרה לי.
קוד:
XPathNavigator nav = docNav.CreateNavigator();
nav.Select( "/XXX/YYY/ZZZ");
label.Text = nav.Value;
|
|
|
עם קבוץ XML הבא.
קוד:
<XXX id="1"> <YYY id="1"> <UUU>10</UUU> <ZZZ>100</ZZZ> </YYY> <YYY id="2"> <UUU>016</UUU> <ZZZ>200</ZZZ> </YYY> </XXX>
|
|
|
הוא מרא לי בlabel רק את מה שיש UUU בלי קשר למה שאני מבקש ממנו.
מקווה שהסברתי הפעם ת'בעיה, ותודה על העזרה. ממש נתקעתי עם זה משום מה.
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 02 October 2007 בשעה 13:45 | | IP רשוּם
|
|
|
|
SelectSingleNode, לא Select
יש הבדל בין מתי שאתה רוצה לקבל אוסף של ערכים לבין מתי שאתה רוצה ערך
ספציפי.
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
1crow משתמש פעיל
הצטרף / הצטרפה: 28 April 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 115
|
נשלח בתאריך: 02 October 2007 בשעה 14:28 | | IP רשוּם
|
|
|
|
OK, סידרתי את זה על הבוקר.. מצטער שלא כתבתי.
שאלה נוספת, איך אני יודע כמה זמן לוקח למחשב לטעון קובץ XML?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 02 October 2007 בשעה 14:35 | | IP רשוּם
|
|
|
|
אוקיי, שמע, שאלות חדשות בנושא חדש!
תלוי כמה הקובץ שמן ומה המבנה שלו.
זה נושא שלם, אתה יכול לקרוא עליו ע"י חיפוש בגוגל.
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|