動作しません:MaxCharactersInDocumentの検証は、私は、XML文書内の最大文字数を検証しよう
string xml = "<X><Y><Z></Z><Z></Z><Z></Z></Y></X>";
var settings = new XmlReaderSettings
{
MaxCharactersInDocument = 10
};
try
{
using(var sr = new StringReader(xml))
{
using(var xr = XmlReader.Create(sr))
{
using(var xr2 = XmlReader.Create(xr, settings))
{
while(xr2.Read()){} // MaxCharactersInDocument validation do not work
}
}
}
}
catch (XmlException ex)
{
Console.WriteLine(ex.Message);
}
porposeが最大charcters用(XmlReaderを受けて)外部XMLを検証することです。 MaxCharactersInDocument検証が別のXmlReaderで作成されたXmlReaderで機能しないのはなぜですか?この検証方法をどうやって変えることができますか?
また、スキームの検証は2番目のリーダーで有効ですが、最大文字の検証では機能しません。
?最初のCreate()メソッドに設定を追加できます。 – jdweng
@jdweng、最初のリーダーは、いくつかのアプリケーション用の外部リーダーです。そして、最大のcharctersのために外部XML(XmlReaderで受け取った)を検証することです。また、スキームの検証は2番目のリーダーで有効ですが、最大文字の検証では機能しません。どうして? –
エンコードに問題がある可能性があります。 StringReader()パラメータリストにエンコーディングメソッドを追加することで、問題を解決できる場合があります。 – jdweng