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