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

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

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

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

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

    נקודה ששכחתי, וצריכה אצלי עדיין טיפול.

    בקוד הנ"ל, נתוני האובייקטים שצריכים להיכנס לליסט צריכים שיבואו מתוך המערך (בקוד דלהלן 'lineOrder'). וניסיתי לגשת אליו, ללא הצלחה.

    מצ"ב הקוד והשגיאות.

    List<OrderLineItem> listproducts = new List<OrderLineItem>();
    foreach (OrderLineItem lineOrder in jsonorder.Order.Envelopes.Envelope.Lines.Line)
        {
          listproducts.Add(new OrderLineItem { product_id = lineOrder.@BarcodeType });
        };
    

    08074691-8d67-4997-b446-3a70e30ac2e1-image.png

    וגם לא ככה

    List<OrderLineItem> listproducts = new List<OrderLineItem>();
     
    foreach (OrderLineItem lineOrder in jsonorder.Order.Envelopes.Envelope.Lines.Line)
     
       { 
    listproducts.Add(new OrderLineItem { product_id = lineOrder["@BarcodeType"].GetString()});
                 
       };
    

    d7796719-36ca-4d13-bd74-4ef15dd24e72-image.png

    תודה

    תגובה 1 תגובה אחרונה
    0
    • 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
                • chagoldC מנותק
                  chagoldC מנותק
                  chagold
                  השיב לdovid ב נערך לאחרונה על ידי
                  #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
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום