この問題があります。クライアントからデータを受信しています。ソケット接続を使用しています。しかし、これは重要ではありません。すべてのデータは、XDocumentオブジェクトを使用してXMLファイルに格納されます。 XDocument.Save(filestream)を呼び出して特定の文字や記号でデータを渡すときに、(16進文字が無効な)Exceptionを取得すると、XMLファイルに特殊文字が含まれないことがあります。 そのような例外を生成する可能性があるこの特殊文字のリストはどこにありますか?Xdocument.saveを呼び出す前にスキップする必要がある文字
答えて
[0x0-0x1F]の範囲の文字は0x9,0xA、0xDを除いて制御文字と呼ばれ、XMLでは使用できません。
ここXML specificationからの引用です:
[定義:解析されたエンティティは、マークアップまたはキャラクタデータを表すことができるテキスト、文字の並び、 が含まれています。] [定義: 文字がアトミックであるが、 ISO/IEC 10646:2000 [ISO/IEC 10646]で指定されているテキスト単位。法律上の文字は、タブ、復帰改行、改行、 、およびUnicodeとISO/IEC 10646の有効な文字です。 のバージョンは、A.1で引用したこれらの標準は、この文書が作成された の時点で最新です。新しい文字は、これらの 標準に修正または新しいエディションで追加することができます。その結果、XMLプロセッサー は、Charに指定された範囲内の任意の文字を受け入れる必要があります。 ]
文字範囲
Char :: =#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]/*任意のUnicode文字 (サロゲートブロック、FFFE、およびFFFFを除く)。 */
書かれている場所によって異なります。 – Tigran
@Tigran、いいえ、それには依存しません。 –
@ダリンによって与えられた答えは、あなたが正しい方向を指すようにする必要があります。 XMLSpyやStylus Studioのようなxml開発用のツールをお持ちの場合は、問題の文字をすばやく特定することができます。あなたがそのようなツールを持っていない場合は、WC3学校からのオンラインXMLのバリデータを使用することができますが、ここが見つかりました:
http://www.w3schools.com/xml/xml_validator.asp
これは、XMLが整形されていることを確認しますと、それは無効な文字が含まれている場合、それはできませんよく形成される。
xmlドキュメントで指定されたエンコーディングが問題を引き起こす文字を許可している可能性があります。ドキュメントがUTF-8で指定されている場合、これはおそらく問題ではありません。
- 1. createChannelを呼び出す前に、Channel.Openメソッドを呼び出す必要がありますか?
- 2. "WebSecurity"クラスの他のメソッドを呼び出す前に "WebSecurity.InitializeDatabaseConnection"メソッドを呼び出す必要があります
- 3. activate()を呼び出す前にassociate()を呼び出す必要があります
- 4. ElapsedMillisecondsを読む前にStopを呼び出す必要がありますか?
- 5. LoadControl()の前にResolveUrl()を呼び出す必要がありますか?
- 6. getspent()の前にlckpwdf()を呼び出す必要がありますか?
- 7. glMatrixModeを呼び出すたびにglLoadIdentityを呼び出す必要があるのはなぜですか?
- 8. ScheduledExecutorService:シャットダウンを呼び出す必要がある場合
- 9. リポジトリは別のリポジトリを呼び出す必要がありますか?あるいは、リポジトリがサービス層を呼び出す必要がありますか?
- 10. URLLoader.load呼び出しから返された文字列を処理する必要があります
- 11. String toLowerCaseを呼び出すときに指定する必要があるロケール
- 12. いつsetContentAspectRatioを呼び出す必要がありますか?
- 13. Graphics.Dispose()を呼び出す必要がありますか?
- 14. [convertToGl]を呼び出す必要がありますか?
- 15. クローズ接続を呼び出す必要がありますか?
- 16. いつMessageQueue.EndReceive()を呼び出す必要がありますか?
- 17. いつjava.sql.Connection.rollback()を呼び出す必要がありますか?
- 18. GLSurfaceView:onPause/onResumeを呼び出す必要がありますか?
- 19. SqlTransactionはDisposeを呼び出す必要がありますか?
- 20. PhoneStateListenerでアクティビティを呼び出す必要があります
- 21. ARCでdispatch_releaseを呼び出す必要がありますか?
- 22. TForm.ManualDockはonFormShowを呼び出す必要がありますか?
- 23. Monitor.Wait()を呼び出す前にモニタを取得する必要がある理由
- 24. なぜオブザーバに通知する前にsetChangedを呼び出す必要がありますか?
- 25. "android.util.AndroidRuntimeException:コンテンツを追加する前にrequestFeature()を呼び出す必要があります" on showDialog(dialogId)
- 26. OpenGL 2.1でテクスチャを使用する前にglEnable(GL_TEXTURE)を呼び出す必要がありますか?
- 27. MessageDigest.reset()を使用する前にそれを呼び出す必要がありますか?
- 28. html()の前、またはinnerHTMLの前にempty()を呼び出す必要がありますか?
- 29. statを呼び出す前にファイルをfflushまたは閉じる必要がありますか?
- 30. イベントを呼び出すMagento?オブザーバーを作成する必要があります
はい 'XML'は単なるテキストファイルではなく、必要なときにいつでも書くことはできますが、非常に頻繁に解決策があります。あなたが書いたコードの例を提供して例外を取得してください。 – Tigran
おそらく、ドキュメントの一部の部分でCDATAを使用する必要があります。 http://msdn.microsoft.com/en-us/library/system.xml.linq.xcdata%28v=vs.100%29.aspx – oleksii
詳細をもう少し詳しくお聞かせください。必ず完全なエラーメッセージと関連コードを記入してください。しかし、ダーリンは良い推測をしています。 –