[英]Can't find “schemaLocation” attribute
我正在創建一個模式來驗證一些XML,但當它歸結為實際閱讀文檔時,我收到錯誤:
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);
命名空間http://www.w3.org/2001/XMLSchema (帶有傳統前綴xsd
或xs
)用於模式文檔; 您想要的schemaLocation
屬性位於命名空間http://www.w3.org/2001/XMLSchema-instance (其中包含“XML Schema Instance namespace”的常規前綴xsi
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.