XML Namespace in VB.net - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

XML Namespace in VB.net


nondos

Recommended Posts

שלום

לאחרונה התחלתי להתעסק קצת עם 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

תודה

קישור לתוכן
שתף באתרים אחרים

העצה שלי היא.. >>>

תשתמש ב XMLDocument כאשר אתה יוצר אובייקט זה תבחר את המתודה LOAD ושם תכניס את הPATH לקובץ.

ככה כל הקובץ נכנס לך לתוך הזכרון,

שם תוכל כבר לעבור על כל NODE עד שתגיע לאן שאתה רוצה.. GROUPS או SEGMENTS (לפי רצונך ע"י כל מיני מתודות פשוטות שם..)

אם תהיה לך בעיה אני יכול ליצור לך משהו כזה ב C#

כי VB אני לא יודע... גועל נפש של שפה

קישור לתוכן
שתף באתרים אחרים

כשאתה מגיע ל NOD של הסגמנט, תעשה מערך של Attributes ואז תשתמש במתודה GetAttributes על ה NOD של הסגמנט.

אחר כך. במערך תבחר את ה Attribute עם השם bytes ותבדוק את הערך יחד עם int.Parse ..

קישור לתוכן
שתף באתרים אחרים

אחי ניסיתי לעשות את מה שאמרת אבל לא הצלחתי ולא כ"כ הבנתי אותך

יש מצב שאתה עורך את הקוד שפרסמתי כדי שיציג את שם הקובץ לדוגמא?

תודה

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...