2009-08-24 8 views
2

いくつかの他のサービスにいくつかのXML要素を送る必要があります。私は自分のXMLファイルがエレガントな形式であるようにして、他の人がXMLパーサーを使ってXMLファイルを解析できるようにしたいと思います。これは有効なXMLファイルですか?

この種のXMLファイルの場合、XMLの規則を破るエレガントな形式ですか? &#x4が.Net/C#で有効なXML文字列であるかどうかわからない

$#xで始まる文字列がすべて有効かどうか混乱していますか?それらのすべてが有効でない場合、それらをフィルタリングする方法はありますか?

VSTS 2008 + C#+ .Net 3.5を使用しています。

<?xml version="1.0" encoding="utf-8"?> 
<Text>&#x4;</Text> 

答えて

7

いいえ文字参照は、セミコロンで終わる必要があります。

更新:問題の構文エラーが修正されたことを受けて、受け入れ可能な値の説明についてはhttp://www.w3.org/TR/xml/#dt-charrefを参照してください。

率直に言って、私は、「以外のすべてのためのUTF-8に固執<、>と&だろうそれはXML自体が読みやすくなり

+1

だから '  ' – voyager

+0

残念ですが、それは私のタイプミスです、私はそれを修正した、それで終わる必要があります。私の入力でXML要素値で使用できる有効なXML文字列ですか? – George2

+0

更新いただきありがとうございます。 .Netには、既存の方法やそのような文字をフィルタリングする簡単なソリューションはありますか? – George2

5

使用XML Validatorは、それは次のエラーを示しています。。。

エラー:文字参照は ';'で終わらなければなりません。区切り文字。

他の人が示唆したように、セミコロンが欠落している、とバリデータを使用しています。しかし、また、いないすべての文字が入力フォーマットは、技術的にOKであったとしても、法的であることに注意してください。

次のドキュメントがあった

+0

申し訳ありませんが私のタイプミスですが、私はそれを修正しました。私の入力でXML要素値で使用できる有効なXML文字列ですか? – George2

+0

バリデーターは無効だと言いましたが、なぜですか?どのようにそのような文字をフィルタリングするには? – George2

+0

このような文字をすべてXMLファイルから削除したいですか? –

2

バリで失敗した場合:

<?xml version="1.0" encoding="utf-8"?> 
<Text>&#x4;</Text> 

は、この1つは検証しない:

<?xml version="1.0" encoding="utf-8"?> 
<Text>&#x32;</Text> 

の文字については、使用または回避するために、。

+0

申し訳ありませんが私のタイプミス、私はそれを修正した、それで終わる必要があります;私の入力でXMLファイルが有効であるかどうかをフィルタリングするかチェックするには、&#xで始まる文字が必要ですか? – George2

関連する問題