是否可以获取存储在 HttpPostedFileBase 属性中的 xml 文件(来自 MVC 表单),并创建一个 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
}