איך קוראים XML מדף אחר

sky-view

משתמש צעיר
יש לי דף אינטרנט שמייצר קובץ XML לפי השאילתה שהוא מקבל
http://www.sky-view.co.il/DoRequest.aspx

איזה קוד ב-VB (או בשפה אחרת) צריך לכתוב כדי שאתר אחר יוכל לקרוא את ה-XML בלי להציג את הדף של ה-XML ?
כל תשובה תתקבל בברכה.
 

שוצי

משתמש פעיל
D I G I T A L
בC# (אותו הרעיון בVB אני מניחה):
טעינת הxml:

קוד:
XDocument myXml= XDocument.Load(path + "myDocument.xml");
לאחר מכן יש לגשת לתוכן של הXML באופן הבא:
גישה לילד תתבצע ע"י

קוד:
myXml.
Descendants("Chiled")
גישה למאפינים :
קוד:
node.Attribute("Id").Value
גישה למאפיינים:
קוד:
node.Element("Job")

הסבר קטן:

<CHILEDS>This user does not have permission to use the HTML BB code.
התגיות chileds וchiled הם Descendants
התגיות firstName וlastName הם Element
המאפיין id הוא Attribute.
בהצלחה!

</CHIELD>
</CHILEDS>




 

wmw

משתמש פעיל
D I G I T A L
אתה מתכוון לדף הזה:
view-source:http://www.sky-view.co.il/TestRequest.aspx?EngState=False&MyDate=27/10/2010&IsHebDate=False&ID=26&MethodName=Ashkenazi

ואתה רוצה לתת אותו כרפרנס לדף אינטרנט שיעבד את הנתונים הללו

בקוד #C זה יכול לעבוד בכמה צורות:
צור אובייקט XML
צור אובייקט מסוג WEB CLIENT
קרא את העמוד כטקסט אל תוך אובייקט ה XML

מכאן אתה יכול לפעול עם אותו XML בצורה רגילה [להפעיל עליו את כל הכלים והשיטות שאפשר]

הייתי ממליץ לך להפוך מראש את כל העסק ל WEB SERVICE ולחסוך המון כאב ראש.
לחילופין, הפוך את הדף לHANDLLER (עמוד ASHX) שהפלט שלו מסוג XML ותחסוך זמן עיבוד של כל הנתונים של HTML שאתה לא נזקק להם בכלל.
 

wmw

משתמש פעיל
D I G I T A L
אני רואה שהלינק פשוט לא יעבוד כשהוא לא מגיע מתוך הדף

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

אני רק יתן דוגמת קוד פשוטה

קוד:
string result = "";
        using (System.Net.WebClient wc = new System.Net.WebClient())
        {
            wc.Proxy = null;

            result = System.Text.Encoding.Default.GetString(wc.UploadValues("http://" + urlAddress, "POST", datas));
XNLDocument Xdoc= new XMLDocument();
Xdoc.Load(result);
 

חיים פ

משתמש צעיר
WebService לא עונה על הבקשה שלו.
הבחור כבר ייצר את הXML. והוא רוצה לדעת איך לקרוא אותו.
לא חשוב אם תקבל את הXML מWebService / סתם קובץ XML בשרת / RSS וכו'..
אתה יכול לעשות Parsing לXML בכל מיני דרכים.
אפשר בC# או VB ע"י Xpath (כמו שאמר שוצי) או ע"י Linq To Xml . בטוח גם בPHP אפשר (אני לא מכיר)
ואפשר גם בצד הלקוח ע"י JavaScript וXmlIslands
דוגמא קצרה שמשכתי מקוד ישן שלי ב JavaScript (לסבר את האוזן):
קוד:
obj.async=false;
obj.load("getTravel.aspx?TaxiID="+al);
// alert(obj.xml);
 
if(obj.xml == "")
{
// //do nothing
}
else
{
// alert("i'm in");
status = 1;
 
var l_nd=obj.selectNodes("//Table");
 
for (i=0;i<L_ND.LENGTH;I++)< p> {
TravelID= l_nd[i].selectSingleNode("TravelID").text;
FromArea= l_nd[i].selectSingleNode("FromArea").text; 
ToArea= l_nd[i].selectSingleNode("ToArea").text;
alert("travel received. \nFrom: "+FromArea+" To: "+ToArea);
}
קישור להסבר של MOZILA : https://developer.mozilla.org/en/Using_XML_Data_Islands_in_Mozilla

בהצלחה!
 

wmw

משתמש פעיל
D I G I T A L
כשאתה עושה את זה בצד הלקוח, אתה צריך קוד שונה לאקספלורר ולמוזילה [ליצירת אובייקט הHTTPXML] אבל בצד השרת אתה יכול לעבד את הכל כאילו התחברת לקובץ XML אם תעשה ב WEBCLIENT
 

חיים פ

משתמש צעיר
נכתב ע"י wmw;474432:
כשאתה עושה את זה בצד הלקוח, אתה צריך קוד שונה לאקספלורר ולמוזילה [ליצירת אובייקט הHTTPXML] אבל בצד השרת אתה יכול לעבד את הכל כאילו התחברת לקובץ XML אם תעשה ב WEBCLIENT

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

היתרון של JavaScript כאן הוא שאתה יכול לעדכן את תוכן הדף דרך הXML בלי לרענן את הדף.. (כמו Ajax) וזה למעשה השימוש המקורי של Xml Data Islands

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

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יְהוָה אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יְהוָה לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יְהוָה לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יְהוָה אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  27  פעמים

לוח מודעות

למעלה