2010-02-01 14 views
5

टेक्स्ट में '' बच निकला है और XmlTextWriter का उपयोग करते हुए xml फ़ाइल बनाते समय & में परिवर्तित हो जाता है, लेकिन मैं नहीं चाहता कि रूपांतरण इसे कैसे रोकें?XmlTextWriter का उपयोग करके & के रूपांतरण को रोकने के लिए कैसे करें?

क्या xmltextwriter के WriteRaw func का उपयोग करने के अलावा कोई अन्य तरीका है?

+3

'WriteRaw' का उपयोग करने में क्या गड़बड़ है और आप इसे क्यों नहीं छोड़ना चाहते हैं? –

+0

अच्छी तरह से मैं सिर्फ कच्चे डेटा निकालना चाहता हूं और इसे xml के रूप में प्रस्तुत करना चाहता हूं। संभवतः इसका उपयोग xml को नहीं पढ़ता क्योंकि यह एक त्रुटि फेंक देगा। – kurozakura

उत्तर

9

यदि आप एक्सएमएल में एक अनपेक्षित एम्परसेंड डालते हैं तो यह अब मान्य एक्सएमएल नहीं है।

आपका दो विकल्प या तो वह (जो अपने पुस्तकालय कर रही है) से बच रहे हैं:

<tag>One &amp; another</tag> 

या CDATA में लपेट:

<tag><![CDATA[One & another]]></tag> 

जिसके द्वारा किया जा सकता है:

xmlWriter.WriteCData("One & another"); 
+0

मैं सहमत हूं। एक्सएमएल में एक अनचाहे '&' चरित्र होने के कारण एक वाक्यविन्यास त्रुटि है, और http://www.w3.org/TR/xml/ ** पर विनिर्देश के अनुसार ** को एक्सएमएल पार्सर द्वारा अस्वीकार कर दिया जाना चाहिए। – lavinio

+0

आप सही हैं, मैं बस इसे एक एक्सएमएल प्रारूप में चाहता हूं, सब कुछ, मैं इसे पढ़ने वाला नहीं हूं – kurozakura

0

आप ऐसा क्यों नहीं करना चाहते हैं? ऐसा लगता है कि पुस्तकालय एक्सएमएल द्वारा आवश्यक सटीक चरित्र से बचने के लिए लागू कर रहा है।

+2

कुछ लोगों को बस इसकी आवश्यकता है। किसी अन्य प्रश्न के साथ किसी प्रश्न का उत्तर न दें। उसे बताएं, या कुछ भी नहीं कहें। – Chris

+2

लॉल @ क्रिस। कभी-कभी आप बहुत कुछ सीखते हैं प्रश्न का उत्तर एक प्रश्न के साथ दिया जाता है, जब तक कि आप आलसी न हों ... –

+4

@Rob शायद, लेकिन एक प्रश्न अभी भी एक * उत्तर * नहीं है, और केवल वास्तविक उत्तरों के रास्ते में हो रहा है (विशेष रूप से किसी कारण से यह ऊपर उठ रहा है -वृत्त) - यह एक टिप्पणी होनी चाहिए थी। – Justin

0

मुझे यकीन नहीं है कि यह काम करेगा, लेकिन आप xmltextwriter.Sett के माध्यम से उपलब्ध XmlWriterSettings गुणों में जांचना चाहेंगे ings, विशेष रूप से चेककैक्टर्स संपत्ति।

दूसरी ओर, ब्रायन एग्न्यू उल्लेख किया, एन्कोडिंग नहीं & & के रूप में इसे अपने XML को अमान्य कर देंगे (जब तक आप पहले से ही & करने के लिए इसे इनकोडिंग जिस स्थिति में आप सिर्फ डिकोड करने के लिए चाहते हो सकता है जाने के लिए गलत तरीके से हो सकता है इसे xmltextwriter कक्षा में देने से पहले