نمایش نتایج 1 تا 5 از 5

نام تاپیک: عدم كاركرد CDATA در XML

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    212

    عدم كاركرد CDATA در XML

    سلام
    من يك xml به اين صورت دارم:

    <?xml version="1.0" encoding="utf-8" ?> <fax><recipients><recipient><department-name><![CDATA[شرکت سايرين]]></department-name></recipient></recipients></fax>

    طبق تعريف، پارسر نبايد محتواي CDATA را پارس كند اما من خطاي An invalid character was found in text content را دريافت مي‌كنم.
    اگر به جاي عبارت فارسي در CDATA (شركت سايرين) مثلا بنويسم ali مشكل حل مي‌شود.
    دوستاني كه در اين زمينه تجربه دارند لطف كنند و مرا راهنمايي كنند.

  2. #2

    نقل قول: عدم كاركرد CDATA در XML

    شما همین فایل را با notepad++ باز کنید و به صورت utf8 ذخیره کنید مشکلی وجود نخواهد داشت

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    212

    نقل قول: عدم كاركرد CDATA در XML

    نقل قول نوشته شده توسط Arman_1367 مشاهده تاپیک
    شما همین فایل را با notepad++ باز کنید و به صورت utf8 ذخیره کنید ...
    ممنون از پاسخ شما ولي من نياز به روشي دارم كه در حين اجراي برنامه به درستي كار كند. اين xml توسط برنامه ديگري توليد مي‌شود و در برنامه من دريافت مي‌شود و برنامه دريافت كننده بايد اطلاعات آن را در يك ليست به كاربر نمايش دهد.

  4. #4

    Exclamation نقل قول: عدم كاركرد CDATA در XML

    خوب می توانید فایل تولید شده رو خودتون با استفاده از توابع استاندارد خط به خط به یک فایل یونیکد تبدیل کنید و بعد با استفاده از TXMLDocument آن را مورد استفاده قرار دهید.

    دلیلی نمی بینم توضیح اضافه تری بدهم در پست اول جواب شما داده شد.اگر می دانید که مشکل از این قسمت نیست یا از ضعف TXMLDocument می باشد می توانید دنبال کمپاننت قویتر یا جایگزین باشید در ضمن به این علت که نمی خواستم پست را شلوغ کنم جواب شما را در این پست دادم.
    آخرین ویرایش به وسیله Arman_1367 : سه شنبه 28 تیر 1390 در 22:59 عصر

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    212

    نقل قول: عدم كاركرد CDATA در XML

    نقل قول نوشته شده توسط Arman_1367 مشاهده تاپیک
    خوب می توانید فایل تولید شده رو خودتون با استفاده از توابع استاندارد خط به خط به یک فایل یونیکد تبدیل کنید و بعد با استفاده از TXMLDocument آن را مورد استفاده قرار دهید.
    اين روش خوبي نيست. يادم نيست كه در سوالم از اينكه xml من يونيكد است يا خير يا چه كدپيجي دارد صحبت كرده باشم. من يك xml دارم كه نمي‌دانم چه كدپيچي دارد. توسط برنامه ديگري توليد شده و من در حين اجراي برنامه آن را مي‌خوانم.
    من مي‌خواهم علت و روش اصلاح را بدانم. يكي از دوستان مي‌گفت كه TXMLDocument به اندازه كافي قوي نيست و استدلالش همين مشكل من بود چون پارسر xml عملا نبايد به محتواي CDATA كاري داشته باشد. آيا درست است؟ آيا تعويض كامپوننت مي‌تواند مشكل را حل كند باشد يا مشكل از جاي ديگري است و زمان گذاشتن براي تعويض كامپوننت بيهوده است؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •