এক্সএমএল এম্পারস্যান্ডগুলি কীভাবে এড়াতে পারি যাতে তারা এইচটিএমএলে সত্তা হিসাবে রেন্ডার হয়?


522

আমার কিছু এক্সএমএল পাঠ্য রয়েছে যা আমি একটি HTML পৃষ্ঠায় রেন্ডার করতে চাই। এই পাঠ্যে একটি অ্যাম্পারস্যান্ড রয়েছে, যা আমি এর সত্তার প্রতিনিধিত্বতে রেন্ডার করতে চাই &

এক্সএমএল উত্সটিতে আমি কীভাবে এম্পারস্যান্ডটি এড়াতে পারি? আমি চেষ্টা করেছি &, তবে এটি প্রকৃত অ্যাম্পারস্যান্ড চরিত্র ( &) হিসাবে ডিকোড হয়েছে , যা এইচটিএমএলে অবৈধ

সুতরাং আমি এটিকে এড়াতে চাই যে এটি &ওয়েব পৃষ্ঠায় যেমন এক্সএমএল আউটপুট ব্যবহার করে তা রেন্ডার হবে ।


1
এই প্রশ্নের সর্বশেষ সংশোধন দাবী যে "প্রকৃত অ্যাম্পারস্যান্ড চরিত্র (&) ... এইচটিএমএলে অবৈধ।" মিথ্যা প্রকৃতপক্ষে, যুক্তিসঙ্গত প্রশ্নের জবাবদিহি যেমন জাস্টিফিকেশন হিসাবে দেওয়া হয় "HTML5 আপনাকে এটিকে ছাড়াই ছাড়তে দেয়, তবে কেবল তখনই যখন নিম্নলিখিত ডাটাগুলি বৈধ চরিত্রের রেফারেন্সের মতো দেখায় না"
মার্ক অ্যামেরি

উত্তর:


422

যখন আপনার এক্সএমএল রয়েছে &, এটি পাঠ্যের ফলস্বরূপ &

আপনি যখন এটি এইচটিএমএল-এ ব্যবহার করেন, সেই হিসাবে রেন্ডার করা হবে &


195

অনুযায়ী এক্সএমএল 1.0 বৈশিষ্ট §2.4 , আপনি ব্যবহার করতে সক্ষম হওয়া উচিত &

আমি চেষ্টা করেছি & amp; তবে এটি অনুমোদিত নয়।

আপনি কি নিশ্চিত যে এটি কোনও আলাদা সমস্যা নয়? এক্সএমএল এম্পারস্যান্ডগুলি থেকে বাঁচার উপায় হিসাবে স্পষ্টভাবে এটি সংজ্ঞায়িত করেছে।


3
পোস্ট করার সময় এটি পুরোপুরি যুক্তিসঙ্গত ছিল, তবে যেহেতু প্রশ্নের উত্তর (বা সম্ভবত ব্যাখ্যা) থেকে পরিবর্তনগুলি এটিকে উত্তর হিসাবে অযৌক্তিক বলে মনে হয়েছে। একটি বিষয় হিসাবে, উদ্ধৃত প্যাসেজ আর প্রশ্নে উপস্থিত নেই।
মার্ক আমেরিকা

132

&তাই সমাধান এটি এবং একটি ইউনিকোড দশমিক জন্য সমতুল্য কনক্যাটেনেট হয় চরিত্র নিজেই XML- এর একটি পালাবার চরিত্র &এইভাবে নিশ্চিত কোনো ত্রুটি XML পার্স আছে। অর্থাৎ চরিত্র প্রতিস্থাপন &সঙ্গে &


5
আমি সত্যিই এই সমাধান পছন্দ! হেক্সাডেসিমাল স্বরলিপি ব্যবহার করাও সম্ভব উচিত:&
কোডম্যানএক্স

2
যৌক্তিকভাবে, কেন এই কাজ করবে? উভয় স্ট্রিংয়ের একটি
এম্পারস্যান্ড রয়েছে

4
@ সিজপকস কারণ এখানে অ্যাম্পারস্যান্ড পার্সারকে বলে যে নীচের অক্ষরগুলি অন্য একটি চরিত্রের প্রতিনিধিত্ব করতে ব্যবহৃত হয়, যা এই ক্ষেত্রে একটি অ্যাম্পারস্যান্ড হবে। এক্সপারস্যান্ড এক্সএমএলে "অবৈধ" নয় - এর কেবল একটি বিশেষ অর্থ রয়েছে। এর অর্থ "এরপরে সমস্ত চরিত্রগুলি যতক্ষণ না আপনি সেমিকোলন না আঘাত করেন ততক্ষণ অন্য কোনও কিছুতে অনুবাদ করা উচিত"। আপনার যখন সাধারণত একটি অ্যাম্পারস্যান্ড থাকে, বর্ণনামূলক অক্ষর এবং পেছনের সেমিকোলন ছাড়াই পার্সার বিভ্রান্ত হয়।
রিলে মেজর

1
এটি আমার জন্য উত্তর। যোগ করা হচ্ছে & # 038; আমার প্রতিক্রিয়া শিরোনামের অবস্থানটিতে এটি ঠিক করা হয়েছে এবং প্রতিক্রিয়া শিরোনামে অ্যাম্পারস্যান্ড দেখানো হচ্ছে না। : ডি
আইমজুশুয়া

স্ট্যাক ওভারফ্লো এত দুর্দান্ত। এখানে প্রায় 11 বছরের পুরানো পোস্ট যা আমার সমস্যার সমাধান করে। এবং এটি 690,000 বার বার দেখা হয়েছে।
বিল

69

CDATAট্যাগগুলি ব্যবহার করুন :

 <![CDATA[
   This is some text with ampersands & other funny characters. >>
 ]]>

4
এটি একটি উত্তর চেয়ে উত্তর।
ব্রায়ান ওকলে

10
এটি একটি অনুমান হতে পারে; যদিও এটি সঠিক। সিডিএটিএ চিহ্নিতকারীরা কাঁচা অ্যাম্পারস্যান্ডগুলি ব্যবহার করার অনুমতি দেয়।
কুইন্টিন

19
মূল পোস্টটি কখনই স্পষ্ট করেনি যে & কোথায় ব্যবহার করা উচিত ছিল, সিডিএটিএ ট্যাগগুলি কেবলমাত্র ট্যাগগুলির আসল সামগ্রীর জন্য, বিশিষ্ট মানগুলির জন্য ব্যবহার করা যায় না, সেই কারণেই আমি '?' যুক্ত করেছিলাম।
স্ক্রাগার

1
এটি এক্সএমএল ডেটা বৈশিষ্ট্যযুক্ত করার জন্যও দুর্দান্ত এবং এই উত্তরটি এক্সএমএল রেন্ডারিং সম্পর্কিত অন্যান্য অনেক পরিস্থিতিতে সহায়ক। আমার জন্য, এটি ক্যামেল এক্সএমএল ডিএসএলকে সত্যই সহায়তা করেছিল, যখন আমাকে কিছু এক্সএমএল ডেটা দিয়ে বডি বা কিছু শিরোনাম স্থাপন করার দরকার হয়েছিল তখন উট এক্সএমএল পার্সার সিডিএটিএ বিষয়বস্তুগুলিকে অগ্রাহ্য করে এগুলি অক্ষরের স্ট্রিম হিসাবে পড়েছিল। এটি ছাড়াই উটের ইঞ্জিনটি অবৈধ xML কাঠামো ব্যতিক্রম ছুঁড়ে
ফেলেছে

1
এটি হ'ল আমার জবাবটি হ'ল, কারণ আমার ক্ষেত্রে আমি নিশ্চিত নই যে এক্সএমএলে কোন চরিত্রগুলি আসতে পারে, তাই আমাকে এই বিভাগের সমস্ত কিছু থেকে বাঁচতে হবে।
ম্যাট


11

আমার ক্ষেত্রে আমাকে এটিতে পরিবর্তন করতে হয়েছিল %26

আমার &ইউআরএল থেকে পালাতে হবে । সুতরাং &amp;আমার জন্য কাজ করে না। Urlencode ফাংশন পরিবর্তন &করতে %26। এইভাবে এক্সএমএল বা ব্রাউজারের ইউআরএল প্রক্রিয়াটিও ইউআরএল সম্পর্কে অভিযোগ করে না।


8
হ্যাঁ. যদিও লক্ষ করুন যে ওপি এক্সএমএল থেকে পালানোর বিষয়ে ছিল। একটি ইউআরএল থেকে পালানো একটি পৃথক সমস্যা। আসল মজা শুরু হয় যখন আপনি এক্সএমএলে ইউআরএল, বা ইউআরএলগুলিতে এক্সএমএল-টুকরো ...
ওসকার বার্গগ্রেন

6

আমি চেষ্টা করেছি & amp; কিন্তু এটি কার্যকর হয়নি। উইম টেন ব্রিংকের উত্তরের উপর ভিত্তি করে আমি & amp; চেষ্টা করেছি এবং এটি কার্যকর worked

আমার এক সহযোগী বিকাশকারী আমাকে & # x26 ব্যবহার করার পরামর্শ দিয়েছেন; এবং এটি কতবার রেন্ডার করা যায় নির্বিশেষে এটি কাজ করেছিল।


5

&amp; একটি এক্সএমএল ডকুমেন্টের বেশিরভাগ অংশে একটি অ্যাম্পারস্যান্ড উপস্থাপনের উপায়।

আপনি এক্সএমএল এইচটিএমএল মধ্যে প্রদর্শিত করতে চান, তাহলে প্রথমেই (যা পরিবর্তন জড়িত থাকে সঠিকভাবে এনকোড এক্সএমএল তৈরি করতে হবে &করতে &amp;) এবং তারপর ব্যবহার (যা আবার পরিবর্তন জড়িত থাকে সঠিকভাবে এনকোড এইচটিএমএল তৈরি করতে &করতে &amp;)। ফলাফলগুলি:

&amp;amp;

এক্সএমএল এনকোডিংয়ের আরও বিশদ ব্যাখ্যার জন্য, দেখুন:

এক্সএমএল ডকুমেন্টগুলিতে আমার কী চরিত্রগুলি পালাতে হবে?



3

ইউনিকোড ব্যবহার সম্পর্কে কীভাবে \u0026? আমার অ্যান্ড্রয়েড এক্সএমএল ফাইলগুলিতে আমার জন্য কাজ করে। যদি সমস্যা দেখা দেয় তবে কেউ আমাকে জানান।


1
\uসাধারণভাবে এক্সএমএল থেকে পলায়নের কোনও বিশেষ অর্থ নেই। -1।
মার্ক আমেরিকা

@ মারক্যামেরি হ্যাঁ, তাদের কোনও বিশেষ অর্থ নেই, এটি হ'ল তারা এতো ভাল কাজ করে কেন - ব্যাখ্যা করার মতো কিছুই নেই, তাই ভুল হওয়ার কিছু নেই। জাভা ইউনিকোডকে ব্যাখ্যা করে এবং ওপি যেমন চায় তেমন একটি অ্যাম্পারস্যান্ড প্রদর্শন করে।
স্কট বিগস 17

1
@ স্কটবিগস ওপি'র প্রশ্নের সাথে জাভা কী করবে?
ফিলিপ-আন্দ্রে লরিন

1
@ স্কটবিগস তাই এটি অফ-টপিক। - 1.
ফিলিপ-আন্দ্রে লরিন

1
@ স্কটবিগস সত্য যে এটি আপনার পক্ষে কাজ করে এবং অন্য কেউ কেউ উপকৃত হতে পারে তা অপ্রাসঙ্গিক; আপনার উত্তরটি অন্য সমস্ত পাঠকের কাছে গোলমাল। কারণ এটি ওপিতে যত বেশি সাধারণ ক্ষেত্রে জিজ্ঞাসা করা হয়েছিল তা মোকাবেলা করে না। এটি আপনার সাফল্য ভাগ করে নেওয়ার বিষয়ে নয়। এটি এটি যেখানে এটি রাখার বিষয়ে। আপনার অবদানটি কার্যকর হতে পারে তবে এখানে উত্তর হিসাবে উপস্থাপন করা হয়নি। হতে পারে একটি মন্তব্য হিসাবে, অন্য কোনও প্রশ্নের উত্তর হিসাবে (যা আপনি নিজেরাই তৈরি করতে এবং উত্তর দিতে স্বাধীন)।
ফিলিপ-আন্দ্রে লরিন

0

আপনার এক্সএমএলটি নীচের মত দেখাচ্ছে কিনা তা বিবেচনা করুন।

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
  <Query>
</Employees>

<>এটি ত্রুটি ছুঁড়ে দেওয়ার সাথে সাথে আপনি সরাসরি ব্যবহার করতে পারবেন না । &#60;&#62;সেক্ষেত্রে আপনি এটি প্রতিস্থাপনে ব্যবহার করতে পারেন ।

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES &#60;&#62; 'GCF'
  <Query>
</Employees>

সমস্ত কোড দেখতে এখানে ক্লিক করুন


2
আমি মনে করি এই উত্তরটি পোস্ট হওয়ার আগে 7 বছর আগে এই স্থলটি ভালভাবে আচ্ছাদিত হয়েছিল।
miken32
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.