דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הכנסת אובייקטים חדשים לתוך מערך c#

הכנסת אובייקטים חדשים לתוך מערך c#

מתוזמן נעוץ נעול הועבר תכנות
17 פוסטים 3 כותבים 505 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי
    #8

    אני לא יודע לעזור לך, בOrderLineItem אין כזה מאפין, בדיוק כפי שאומרת השגיאה.
    אתה אומר שיש ויש לך כנראה סיבות נכונות לזה, אבל אין לי מושג איך ליישב את הבעיה.

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    תגובה 1 תגובה אחרונה
    1
    • chagoldC מנותק
      chagoldC מנותק
      chagold
      כתב ב נערך לאחרונה על ידי
      #9

      אני נותן עוד תמונה.
      58546310-d3d2-4ce1-971b-97c86294d640-image.png
      כמו שרואים הוא עבר את שורה 231 ובאמת הערך הודפס למסך.
      הוא נתקע רק בשורה 234. ואם אני מפענח נכון זה שגיאת המרה. אולי בגלל שזה בעצם ניגש ל-json וזה לא מוגדר כמערך c#?

      תגובה 1 תגובה אחרונה
      0
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #10

        ניסיתי להמיר את הJSON לARRAY לפי המדריך הזה, אבל יש שגיאה.
        d9472085-1dce-4708-9a5e-6b5552484206-image.png

        ואגב, אם אני מדפיס את המערךך json המקורי הוא ככה:

          [
          
            {
          
              "@Category": "Print",
          
              "@Product": "Print 10x15",
          
              "@Theme": "",
          
              "@ProductName": "Print 10x15",
          
              "@ProductCode": "",
          
              "@PaperType": "Undefined",
          
              "@BarcodeType": "EAN13",
          
              "@GS1DataMatrix240": "",
          
              "@EanCode": "",
          
              "@Quantity": "3",
          
              "@FixFee": "0",
          
              "@ShippingCost": "0",
          
              "@ServiceFee": "0",
          
              "@UnitPrice": "0",
          
              "@Discount": "0",
          
              "@PriceWithoutVat": "0",
          
              "@VatAmount": "0",
          
              "@Price": "0"
          
            },
          
            {
          
              "@Category": "Print",
          
              "@Product": "Print 15x20",
          
              "@Theme": "",
          
              "@ProductName": "Print 15x20",
          
              "@ProductCode": "",
          
              "@PaperType": "Undefined",
          
              "@BarcodeType": "EAN13",
          
              "@GS1DataMatrix240": "",
          
              "@EanCode": "",
          
              "@Quantity": "3",
          
              "@FixFee": "0",
          
              "@ShippingCost": "0",
          
              "@ServiceFee": "0",
          
              "@UnitPrice": "0",
          
              "@Discount": "0",
          
              "@PriceWithoutVat": "0",
          
              "@VatAmount": "0",
          
              "@Price": "0"
          
            },
          
            {
          
              "@Category": "",
          
              "@Product": "Passport Photos (45x35 x 8) 10x15 (35 mm x 45 mm)",
          
              "@Theme": "",
          
              "@ProductName": "Passport Photos (45x35 x 8) 10x15 (35 mm x 45 mm)",
          
              "@ProductCode": "",
          
              "@PaperType": "Undefined",
          
              "@BarcodeType": "EAN13",
          
              "@GS1DataMatrix240": "",
          
              "@EanCode": "",
          
              "@Quantity": "1",
          
              "@FixFee": "0",
          
              "@ShippingCost": "0",
          
              "@ServiceFee": "0",
          
              "@UnitPrice": "0",
          
              "@Discount": "0",
          
              "@PriceWithoutVat": "0",
          
              "@VatAmount": "0",
          
              "@Price": "0"
          
            },
          
            {
          
              "@Category": "Gift",
          
              "@Product": "Mug BLack",
          
              "@Theme": "",
          
              "@ProductName": "Mug BLack",
          
              "@ProductCode": "",
          
              "@PaperType": "Undefined",
          
              "@BarcodeType": "EAN13",
          
              "@GS1DataMatrix240": "",
          
              "@EanCode": "",
          
              "@Quantity": "1",
          
              "@FixFee": "0",
          
              "@ShippingCost": "0",
          
              "@ServiceFee": "0",
          
              "@UnitPrice": "0",
          
              "@Discount": "0",
          
              "@PriceWithoutVat": "0",
          
              "@VatAmount": "0",
          
              "@Price": "0"
          
            },
          
            {
          
              "@Category": "Poster",
          
              "@Product": "Poster 20x25",
          
              "@Theme": "",
          
              "@ProductName": "Poster 20x25",
          
              "@ProductCode": "",
          
              "@PaperType": "Undefined",
          
              "@BarcodeType": "EAN13",
          
              "@GS1DataMatrix240": "",
          
              "@EanCode": "",
          
              "@Quantity": "1",
          
              "@FixFee": "0",
          
              "@ShippingCost": "0",
          
              "@ServiceFee": "0",
          
              "@UnitPrice": "0",
          
              "@Discount": "0",
          
              "@PriceWithoutVat": "0",
          
              "@VatAmount": "0",
          
              "@Price": "0"
          
            }
          
          ]
        

        יש בו משהו לא תקין?

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #11

          תוכל להראות את הקוד בו נוצר ה jsonorder?

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          תגובה 1 תגובה אחרונה
          0
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            כתב ב נערך לאחרונה על ידי chagold
            #12
            dynamic jsonorder = JsonConvert.DeserializeObject(convert_xml_to_json($"{ e.FullPath}"));
            

            והפונקציה:

            private static string convert_xml_to_json(string xmlFile)
             
                     {//string xml
             
                         string xml = File.ReadAllText(xmlFile);
             
            
            
             
                         XmlDocument doc = new XmlDocument();
             
                         doc.LoadXml(xml);
             
             
             
                         string jsonText = JsonConvert.SerializeXmlNode(doc);
             
             
                         return jsonText;
             
                     }
            
            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #13

              @chagold אמר בהכנסת אובייקטים חדשים לתוך מערך c#:

              convert_xml_to_json

              תשנה בforeach מOrderLineItem לvar.
              ותפנה למאפיינים כאינדקס:

              lineproduct["@ProductName"]
              

              מה מקור הXML? כלומר מי ייצר אותו?

              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              chagoldC תגובה 1 תגובה אחרונה
              1
              • dovidD dovid

                @chagold אמר בהכנסת אובייקטים חדשים לתוך מערך c#:

                convert_xml_to_json

                תשנה בforeach מOrderLineItem לvar.
                ותפנה למאפיינים כאינדקס:

                lineproduct["@ProductName"]
                

                מה מקור הXML? כלומר מי ייצר אותו?

                chagoldC מנותק
                chagoldC מנותק
                chagold
                כתב ב נערך לאחרונה על ידי
                #14

                @dovid אמר בהכנסת אובייקטים חדשים לתוך מערך c#:

                מה מקור הXML? כלומר מי ייצר אותו?

                תוכנה לעריכת תמונות, Diland Kiosk 2

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי dovid
                  #15

                  אוקי.
                  אז דבר ראשון הפונקציה convert_xml_to_json מיותר, תעבוד ישירות מול הXML.
                  הנה קוד ראשוני לעבוד עם הXML:

                  var xdoc = XDocument.Load(e.FullPath);
                  var lines = xdoc.Document
                                  .Element("Order")
                                  .Element("Envelopes")
                                  .Element("Envelope")
                                  .Element("Lines")
                                  .Elements("Line");
                  
                  foreach (var element in lines)
                  {
                      Console.WriteLine(element.Element("@ProductName").Value);
                  }
                  

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

                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #16

                    אפשר יותר פשוט:

                    var xdoc = XDocument.Load(e.FullPath);
                    var lines = xdoc.Document.Descendants("Lines");
                    
                    foreach (var element in lines)
                    {
                        Console.WriteLine(element.Element("@ProductName").Value);
                    }
                    
                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    תגובה 1 תגובה אחרונה
                    1
                    • chagoldC מנותק
                      chagoldC מנותק
                      chagold
                      כתב ב נערך לאחרונה על ידי
                      #17

                      תודה רבה.
                      באמצעות הפוסט הקודם -- (ה-var) הסתדר הכל.

                      תודה גם על ה-XML.

                      תגובה 1 תגובה אחרונה
                      0
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום