(MVC フォームから) HttpPostedFileBase プロパティに格納されている xml ファイルを取得し、行番号を維持しながら XMLReader.Create(..,..) オブジェクトを作成することは可能ですか?
以下の例では、ハードコーディングされた xml ファイルの場所を使用しています。
理想的には XmlReader.Create(MyHttpPostedFileBase, rs);
public static bool Validate()
{
try
{
string XsdPath = @"C:\Projects\Mvc\Xsd\books.xsd";
string XmlPath = @"C:\Projects\Mvc\Xsd\food.xml"; //replace with my HttpPostedFileBase
XmlSchemaSet set = new XmlSchemaSet();
set.Add(null, XsdPath);
XmlReaderSettings rs = new XmlReaderSettings();
rs.Schemas = set;
rs.ValidationType = ValidationType.Schema;
rs.ValidationEventHandler += new ValidationEventHandler(rs_ValidationEventHandler);
using (XmlReader reader = XmlReader.Create(XmlPath, rs))
{
while (reader.Read()) ;
}
}
static void rs_ValidationEventHandler(object sender, ValidationEventArgs e)
{
//code
}