פורסם 2007 במאי 2918 שנים שלוםלאחרונה התחלתי להתעסק קצת עם XML ב VB.NeTאני צריך לעבד קבצים מסוג NZB (סוג של XML) קישור - http://en.wikipedia.org/wiki/Nzbהבעיה היא שבקבצים אלו נעשה שימוש ב namespace ניסתי לשחק עם זה קצת אבל לא הבנתי איך זה עובד. הכי טוב שהגעתי אליו הוא לקרוא את ה Message ID מהקבציםאשמח אם מישהו יסביר לי איך לנווט בתוך XML עם namespace ואיך לדוגמא למשוך את שם הקובץ מתוך ה NZBהנה הקוד שכתבתי: Sub NZBToMsgID(ByVal _FileLnk As String) Dim m_xmld As XmlDocument Dim m_nodelist As XmlNodeList Dim m_node As XmlNode 'Create the XML Document m_xmld = New XmlDocument() 'Load the Xml file m_xmld.Load(_FileLnk) Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(m_xmld.NameTable) namespaceManager.AddNamespace("pf", "[url]http://www.newzbin.com/DTD/2003/nzb"[/url]) m_nodelist = m_xmld.SelectNodes("/pf:nzb/pf:file/pf:segments/pf:segment", namespaceManager) 'Loop through the nodes For Each m_node In m_nodelist Dim a = m_node.ChildNodes(0).InnerText Next End Subתודה
פורסם 2007 במאי 2918 שנים העצה שלי היא.. >>>תשתמש ב XMLDocument כאשר אתה יוצר אובייקט זה תבחר את המתודה LOAD ושם תכניס את הPATH לקובץ.ככה כל הקובץ נכנס לך לתוך הזכרון,שם תוכל כבר לעבור על כל NODE עד שתגיע לאן שאתה רוצה.. GROUPS או SEGMENTS (לפי רצונך ע"י כל מיני מתודות פשוטות שם..)אם תהיה לך בעיה אני יכול ליצור לך משהו כזה ב C#כי VB אני לא יודע... גועל נפש של שפה
פורסם 2007 במאי 2918 שנים מחבר אני כבר משתמש ב XMLDocument הבעיה היא שאני לא יודע איך לנווט בקובץ XML עם Namespace כמו NZB לדוגמא איך אני שולף כל פעם את הגודל של הסגמנט
פורסם 2007 במאי 2918 שנים כשאתה מגיע ל NOD של הסגמנט, תעשה מערך של Attributes ואז תשתמש במתודה GetAttributes על ה NOD של הסגמנט.אחר כך. במערך תבחר את ה Attribute עם השם bytes ותבדוק את הערך יחד עם int.Parse ..
פורסם 2007 במאי 2918 שנים מחבר אחי ניסיתי לעשות את מה שאמרת אבל לא הצלחתי ולא כ"כ הבנתי אותךיש מצב שאתה עורך את הקוד שפרסמתי כדי שיציג את שם הקובץ לדוגמא?תודה
פורסם 2007 במאי 2918 שנים אני לא יודע VBתגיד לי מה אתה רוצה להשיג בדיוק ואני יכין לך משהו שתוכל גם ללמוד ממנו ב C#
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.