XML UTF-8エンコーディングで特定の入力文字列が有効かどうか(XML要素の値として使用できるかどうか)をもう一度確認しています。私の目標は、どの文字列(入力文字列配列から)がXML UTF-8エンコーディング標準に従って正しくないかを調べることです。XML検証コードが有効かどうかを確認するヘルプ
私のコードは、私の現在の実装は簡単です - 入力文字列配列から個々の文字列でXMLファイルをアセンブルします。私はそれが最も効率的な方法かどうかはわかりません。機能的な観点から、それは動作します。
私の仕事環境は.Net 3.5 + VSTS 2008 + C#です。事前に
static void Main(string[] args)
{
string[] inputs = { "Hello", "World", "StackOverflow", "ServerFault", "&#DFFE" };
XmlDocument xDoc = new XmlDocument();
string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
string formatter = "<foo>{0}</foo>";
foreach (string item in inputs)
{
StringBuilder builder = new StringBuilder();
builder.Append (header);
builder.Append (String.Format(formatter, item));
try
{
xDoc.Load(new StringReader(builder.ToString()));
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
おかげで、 ジョージ
こんにちはジョン、私は、私のquesitonは、テストする方法については無効ではありませんされ、入力のどのような種類が、私の現在の簡単な実装は1で、文字列1をチェックするかどうかを理解(XMLファイルを構築する方法で)十分に効率的であり、より効率的にチェックするためのよりよい方法はありますか?何か誤解があれば教えてください。私は機能を要求するのではなく、パフォーマンスです。 – George2
"あなたのコードは今までに失敗するだろうか?私はそうは思わない。 - xxxxがXMLの有効な範囲にない場合、無効な入力があると、例えば、&#xxxxのように私のコードは失敗します。 http://en.wikipedia.org/wiki/XML – George2
ウィキペディアのページの「数値の文字参照」セクションを参照してください。 – George2