שאלת XML

nir0911

New member
שאלת XML

שלום,

אני לא כל כך מבין במה שאני הולך לשאול אז תנסו לרדת לסוף דעתי


אני רוצה למשוך מהאתר בנק ישראל נתונים לתוך אקסל באמצעות XML. האתר מציע את שירות הXML אבל נתונים של היום האחרון בלבד או הגדרה של תאריך ישן אחד בלבד.
אני צריך קובץ XML שאוכל להשתמש בו למשיכת נתונים לתוך האקסל של החצי שנה האחרונה כאשר בכל יום מצטרף התאריך החדש ונמחק התאריך הישן ביותר [ לא חובה בדיוק חצי שנה, אפשר קצת יותר או קצת פחות].

האם הדבר אפשרי ? ומישהו כאן יכול לעזור לי בזה ?

זה כתובת האתר :

http://www.bankisrael.gov.il/yazig/yazheb.htm

ואיזור הקישורים ל XML נמצא בקצה התחתון ביותר למטה משמאל. [ יש גם כפתור של עזרה שמסביר כל מיני דברים]

תודה מראש.
 

bnayal

New member
אני הייתי עושה משהו כזה,

טוען חד פעמי את האקסל שהם מספקים לתוך מסד נתונים כלשהו (MySQL או אפילו CSV).
ככה נשמר היסטוריה. לאחר מכן פעם ביום טוען את הXML העדכני ומוסף שורה במסד נתונים שבחרת.

תצטרך לדעת לתכנת קצת בשביל זה...
אם תחפש ברשת אני בטוח שתמצא דוגמאות קוד.

בהצלחה,
בניה
 

bnayal

New member
אגב ראית שיש שם אקסל מעודכן יומית עם היסטוריה

נכון? כי אם המטרה היא בסך הכל אקסל אז אולי זה מה שאתה מחפש...
 

nir0911

New member
ראשית תודה על העזרה..

לצערי הבעיה עם הרעיונות שהצעת [ותקן אותי אם אני טועה] אני אצטרך לפתוח קובץ כל יום ולעדכן... ומאחר ואני יכול לפתוח את הקובץ אחת ל... חודש.. קצת בעיה.

מטרתי היא לא חשוב מתי אני אפתח את הקובץ - שיהיה שם חצי שנה אחורה נתונים, וכל האמצעים כשרים..

השאלה האם אתה [ או משהו אחר] יודע אם יש אפשרות לעשות את בקשתי ? האם זה בגלל אפשרי ?

תודה תודה.
 

bnayal

New member
לא ציינת כמה דברים:

1. מה המטרה הסופית, לקבל קובץ אקסל עם הנתונים האלו? להציג אותם באתר?
2. מה סביבת העבודה? שרת אינטרנט, מחשב אישי שלך במשרד שלא דולק כל היום?
3. אתה יודע לתכנת?
 

nir0911

New member
אז ככה..

1. המטרה הסופית היא לקבל קובץ אקסל עם נתונים של חצי שנה אחורה, משם אני יכול להמשיך לבד , [לא לאתר אינטרנט].

2. מחשב אישי שלי, לא דולק כל יום [ למשל שאני בחו"ל שבוע ..], לא שרת אינטרנט.

3. אני יודע קצת או "קצת יותר" vba על אקסל, לא מושלם.

תודה.
 

nir0911

New member
שאני צריך

בכל פעם להוריד אותו מאתר שלהם, לקחת את הנתונים ולשים אותו באקסל שלי, עם כל הנוסחאות והחישובים שיש לי בקובץ..

היה לי טוב, הקובץ ההיסטורי האחרון שלהם, אבל כל כמה שנים הם מחליפים לסידרה חדשה ככה שגם זה לא טוב עבורי..
 

bnayal

New member
לא מכיר איך לעשות את זה עם VBA.

אני מניח שזה אפשרי.
 

bnayal

New member
יש מליון דרכים,

בשורה התחתונה - תצטרך פעולה שתשאב את המידע הזה פעם ביום (ולכן תצטרך מחשב עובד כמובן), ותכניס אותו לאקסל שלך. לפתוח אקסל עם PHP יכול להיות מעצבן (לא ניסיתי למען האמת).
נסה לשאול בפורום אופיס
http://www.tapuz.co.il/forums2008/forumpage.aspx?forumid=62
אולי מכירים שם משהו מותאם לאקסל. אני חושב על דרכים שיהיו לך מסובכות מידי לביצוע ואולי שם יוכלו לעזור לך יותר.
 

nir0911

New member
אני לא יודע אם זה קשור..

אבל בלינק ששלחתי לך בתחילת השירשור, יש להם כפתור של עזרה, למטה בצד שמאל. שם הם נותנים עוד אופציות ל XML ושמתי לב שהכל נתוני ה XML תלויים בשורת הכתובת שהם מציעים..

אולי אפשר לשנות משהו שם בשורת הכתובת כדי לקבל את מה שאני צריך.. [רק מציע לא באמת מבין בזה]..

תודה.
 

shlomoximuss

New member
אני חושב שהבנתי..... יש פתרון.


ניר שלום.
ע"פ מה שהבנתי אתה מעוניין לקבלת דוחות תקופתיים של שערים בטווח תאריכים משתנה.....
הבעיה היא שהאתר מאפשר לך למשוך זאת בXML רק על פי תאריך יעד בודד..... (על מנת לייבא את זה לתוך האקסל שלך)

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


עשיתי עבודה בעבר עבור הצבא (בצה"לנט) דומה לכך עם בעיה דומה.

למעשה מה שצריך לעשות זה לבנות קוד בPHP או ב PHYTON (בהם אני יודע בוודאות שזה אפשרי) אשר תקבל ממך תאריך יעד ותאריך סוף -> תיגש לאתר
של בנק ישראל ותבקש לקבל את הדוח XML עבור אותו תאריך ותאחסן אותו מקומית. לבסוף היא תאחד את הדוח או כבר בקוד עצמו כחלק מהתהליך תוכל לבצע את הפעולות שברצונך לבצע על
הנתונים ורק אז לייצא אותם לאקסל או לכל פורמט אחר שתרצה.

זה נשמע כאילו זה מאד מסורבל אך הפעולה אמורה, בטווח של חצי שנה, לקחת לא יותר מדקותיים (הערכה מאד גסה).
נמחיש בתרשים זרימה : הקוד פונה לאתר -> מזין תאריך ראשון מתוך הטווח שבחרת -> שומר את הXML -> חוזר חלילה ומזין את היום הבא -> מפסיק בתאריך האחרון.
לבסוף נשמור אותו בתבנית שתתאים למה שאת צריך או שכבר ע"י הסקריפט נבצע את הפעולות שברצונך לבצע ונשמור אותו לאקסל.

כמו שאמרתי נעשה בעבר (יותר מפעם אחת) מצריך ידע רב בתכנות וכמובן צריך לנתח את הXML של היעד ואת האקסל שלך על מנת לבצע התאמות.

מה שכן זה יפתור את בעיית ה-"לשמור כל יום".

מה אתה אומר?
 

shlomoximuss

New member
עדכון קטן....... וחשוב

בדקתי ע"י סקריפט שלי שעוזר לי לשמור נתונים מכמה אתרים, כמה זמן יקח לי לפתוח -> לטעון -> ולשמור את הXML של הבנק המוצעים שם ע"פ תאריך

ל300 תאריכים הפעולה לוקחת כ 40 שניות (ממחשב ביתי בעל חיבור סטנדרטי הסקריפט כתוב בפייטון)

ככה שמבחינת ביצועים זה יהיה הגיוני לחלוטין.
 

nir0911

New member
ראשית תודה על התגובה

הבנת אותי נכון, זה מה שאני צריך..

אבל זה נשמע כמו עבודה רבה, וחשבתי שהסיפור בסה"כ זה איזה שורת כתובת אינטרנט אחרת.. (יש שם איזה עיניין עם כתובת האינטרנט שהם מציעים בכפתור של העזרה).

אם זה תכנות שאתה עושה ברגע אשמח לעזרה ואם זה סיפור עם הרבה עבודה, תשאיר לי הודעה פרטית עם מחיר כמה זה צריך לעלות + טלפון ונדבר..

שבת שלום
 

shlomoximuss

New member
אכן זה דורש מעט עבודה אך לא יותר מדי....

ובאמת שיחקתי קצת עם הכתובת שהם רושמים אבל זה לא יעבוד. אגב פנית לכתובת המייל שמצוינת שם??

אם זה באמת חשוב לך אני אשמח לעזור. שלח לי במייל טבלת אקסל לדוגמא (שתהווה גלופה לנתונים עבור טווח התאריכים שבחרת).

תן לי יומיים להתקשקש עם זה ונסתדר על השכר טירחה.


מייל: [email protected].
 

shlomoximuss

New member
הנה תוצאות ראשונות ע"פ מה שהצעתי לעשות (בתמונ

ה)

כמו שאתה רואה בשעה טובה אני מצליח לאסוף את קבצי הXML של האתר , כל מה שנשאר לעשות זה לסדר את הנתונים ולייצא אותם ל אקסל.

בתמונה ביקשתי מה 01052003 עד ה06052003. (למיטב הבנתי חלק מהימים אינם ימי מסחר או משהו כזה...)
 
למעלה