2010-04-28 2 views
1

xmlns: m = "http://www.MangoDSP.com/mav/wsdl" в качестве локального файла: "ma.wsdl" xmlns: m0 = "http://www.MangoDSP.com/schema "в качестве локального файла:" MaTypes.xsd "Как valiadate xml-документ с несколькими xml-схемами

как я могу его проверить.

+0

Как вы можете проверить документ XML с помощью единой схемы XML? –

+0

Вы хотите опубликовать XML? Отправьте его, затем выберите XML и нажмите Control-K (кнопка со 1001010). –

ответ

1

Я не делал этого через какое-то время (лет, действительно), и еще раз я отправляю с моего ноутбука Linux, поэтому, пожалуйста, простите нечеткость.

private bool isValid; 
private ArrayList exceptionList; 

public bool Validate() 
{ 
    isValid = true; 
    exceptionList = new ArrayList(); 

    XmlTextReader reader; 
    XmlSchema schema; 
    XmlSchemaCollection schemas = new XmlSchemaCollection(); 

    reader = new XmlTextReader("schema file 1"); 
    schema = XmlSchema.Read(reader, new ValidationEventHandler(ValidationError)); 
    schemas.Add(schema); 

    reader = new XmlTextReader("schema file 2"); 
    schema = XmlSchema.Read(reader, new ValidationEventHandler(ValidationError)); 
    schemas.Add(schema); 

    reader = new XmlTextReader("validate this file"); 

    XmlValidatingReader validatingReader; 

    validatingReader = new XmlValidatingReader(reader); 
    validatingReader.ValidationEventHandler += new ValidationEventHandler(ValidationError); 
    validatingReader.Schemas.Add(schemas); 

    isValid = true; 
    exceptionList = new ArrayList(); 

    while (validatingReader.Read()); 

    return isValid; 
} 

private void ValidationError(object sender, ValidationEventArgs e) 
{ 
    isValid = false; 
    exceptionList.Add(e.Exception); 
} 

Вы также захотите выполнить обработку ошибок и очистить ресурсы.

+0

СПАСИБО, я попробую. –

Смежные вопросы