سؤال

ولدي مخطط ملف ثابت التي تحتوي على رأس والتفاصيل السجلات. يبدو شيئا من هذا القبيل:

HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***

وأحتاج لإلحاق سطرين فارغة في نهاية الرسالة. الآن، إذا كان لدي سجلات متعددة أحصل على الإخراج التالية:

HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***

وماذا أريد أن يحدث شيء من هذا القبيل:

HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***


HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***

وأنا يمكن بناء مكون أنابيب مخصصة للقيام بذلك، ولكن أنا أتساءل إذا كان هناك طريقة أسهل للحصول على ما أحتاج إليه؟

هل كانت مفيدة؟

المحلول

ويجب أن تكون قادرة على تحقيق ما تريد باستخدام خصائص محدد من مخطط ملف ثابت.

وبناء على ملف المثال الخاص بك أنا خلقت مخطط للهيكل السجل التالي:

<Schema>    
  <Root>    
    <HDRGroup>    
      <HDR>    
      <LIN>    

إذا نقرت على عقدة الجذر من المخطط الخاص بك يجب ان ترى قائمة من الخصائص لهذه العقدة الجذر. مقطع واحد خصائص لديه رأس "شقة الملف '. في هذا القسم ملف ثابت الخصائص الثلاثة الأولى يمكنك ان تحدد هي محدد الطفل، الطفل محدد نوع وترتيب الطفل.

وهذا هو المكان الذي تكوين مخطط لإنشاء الأسطر الفارغة (في هذه الحالة CR LF ولكن يمكنك وضع الأمور في نصابها مختلفة ما تحتاج إليه) على سبيل المثال الخاص بك أنا وضعت ما يلي:

Child Delimiter: 0x0D 0x0A 0x0D 0x0A    
Child Delimiter Type: Hexadecimal    
Child Order: Infix

و0x0D 0x0A هو سطر تغذية الإرجاع، لذلك ما ورد أعلاه ببساطة يخلق سطرين فارغة، infixed بين كل طفل من عقدة الجذر.

و وظائف ثم للتأكد من أن كل رأس وخطوطها يتم الاحتفاظ معا. لإعدادات محدد لها أنا وضعت:

Child Delimiter: 0x0D 0x0A    
Child Delimiter Type: Hexadecimal    
Child Order: Postfix

و و <لين> سجلات ثم تحتوي على تعريف المخطط الفعلي للخطوط رسالتك، محدد مع النجمة.

وهذا مخطط يعمل لشيء يبدو لي مثل ما كنت قد طلبت - هذا النوع من مخطط flatfile وكيف يوزع ملف يعتمد إلى حد كبير من التفاصيل الصغيرة، ومع ذلك، مثل ما هو نوع من فواصل الأسطر هناك و إذا كان هناك فواصل خط في نهاية الملف.

ووprincples من استخدام المحددات ستقف، هل من المحتمل العثور على ما تحتاجه للعب مع الإعدادات.

نصائح أخرى

لأي شخص يهتم، ورضخت في النهاية وكتب مكون أنابيب مخصصة لتحقيق ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top