2012-12-20 130 views
1

我創建一個模式來驗證一些XML,但是當它歸結到文檔中的實際讀取,我得到的錯誤:找不到「的schemaLocation」屬性

The 'http://www.w3.org/2001/XMLSchema:schemaLocation' attribute is not declared.

這是使用該模式的其中一個XML文件的開始部分。

<?xml version="1.0"?> 
<envelope xsi:schemaLocation="C:\LocalPath MySchema.xsd" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
xmlns="http://tempuri.org/MySchema.xsd"> 
... 
</envelope> 

我的驗證代碼如下所示:

XmlReaderSettings settings = new XmlReaderSettings(); 
settings.ValidationType = ValidationType.Schema; 
Settings.Schemas.Add(@"http://tempuri.org/MySchema.xsd", 
@"C:\LocalPath\ MySchema.xsd"); 
XmlReader reader = XmlReader.Create(@"C:\LocalPath\testxml\somefile.xml", settings); 
xmlDoc.Load(reader); 

ValidationEventHandler eventHander = new ValidationEventHandler(validationHandler); 

xmlDoc.Validate(eventHander); 
+1

\和MySchema.xsd之間的空格? – tschmit007

回答