PDA

View Full Version : مشکل در split فایل متنی بزرگ و پویا



khademolhojaj5
شنبه 10 خرداد 1393, 16:55 عصر
با سلام به همه دوستان
من یه فایل متنی دارم که حدود 10000 خطه
در اصل میشه گفت یه کتابه
سرفصل های کتاب به صورت زیر دسته بندی شده

#کتاب تست
##فصل اول
###بخش اول
متن بخش اول
###بخش دوم
متن بخش دوم
####زیر بخش دوم
متن زیر بخش دوم
##فصل دوم

در کل متن کاملا پویا هست و ممکنه یه بخش چند تا زیر بخش داشته باشه

حالا من چطوری باید این اطلاعات رو داخل یه تیبل بریزم؟
یا مثلا داخل یه لیست درختی نشون بدم؟

لطفا با مثال و توضیح جواب بدید

پیشاپیش از جوابتون ممنون هستم

Davidd
یک شنبه 11 خرداد 1393, 09:55 صبح
كار كردن با فايل متني سخته. اگه نميخاي ديتابيس استفاده كني از XML استفاده كن. XML ساختار درختي داره و خوندن و نوشتن راحته. فايل XML اين مسئله به اين صورت ميشه :

<book name="test">
<chapter name="1">
<section name="1">
Text of section1
</section>
</chapter>
</book>

كلاس هاي كار با فايل XML در System.Xml; هست

_behnam_
یک شنبه 11 خرداد 1393, 15:38 عصر
سلام.
اول بر اساس فصل یعنی ## split کن. با یه foreach کل آیتم های بدست اومده رو یکی یکی بر اساس بخش یعنی ### split کن دوباره با یه foreach یکی ایتم هارو بدست بیار تا اونجایی که میخوای.

khademolhojaj5
شنبه 17 خرداد 1393, 22:31 عصر
سلام.
اول بر اساس فصل یعنی ## split کن. با یه foreach کل آیتم های بدست اومده رو یکی یکی بر اساس بخش یعنی ### split کن دوباره با یه foreach یکی ایتم هارو بدست بیار تا اونجایی که میخوای.

ممنون از پاسخ تون

اما مشکلی که هست اینه که کاراکتر جدا کننده split باید یک حرفی باشه و دوشارپ(##) یا مثلا #### رو قبول نمیکنه آیا در این رابطه راه حلی هست؟

khademolhojaj5
سه شنبه 20 خرداد 1393, 11:34 صبح
دوستان کسی نیست جواب بده؟

CsharpNevisi
سه شنبه 20 خرداد 1393, 12:04 عصر
میشه یه نمونه از فایل txt بزاری ... ؟؟؟؟؟
یه نمونه از محتویات واقعی ... !!!
مثلا :
#onvan#
@matn@
و ....

shahryari
سه شنبه 20 خرداد 1393, 13:02 عصر
شما ابتدا کارکتهای ## را با یک کارکتر مشخص مثلا @ Replace کن و کارکتر های ### را با یک کارکتر مشخص دیگه مثلا $ جایگزین کن بعد طبق روشی که دوستان فرمودند میتونید انجام بدید