Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XSD文件路径引用_C#_Xml_Vb.net_Xsd_Xml Validation - Fatal编程技术网

C# XSD文件路径引用

C# XSD文件路径引用,c#,xml,vb.net,xsd,xml-validation,C#,Xml,Vb.net,Xsd,Xml Validation,我已经编写了一段代码,在该代码中,它根据xml模式文件验证xml文件和xml文件。在开发和测试期间,我的xsd文件被定位并引用为C:\xschema.xsd。 这是一个exe应用程序,我不知道如何在我的VisualStudio项目中包含此文件并引用代码。它也将作为部署文件的一部分包含 Dim XsdFile as String = "c:\xschema.xsd" Dim Settings As XmlReaderSettings = New XmlReaderSettings() Settin

我已经编写了一段代码,在该代码中,它根据xml模式文件验证xml文件和xml文件。在开发和测试期间,我的xsd文件被定位并引用为C:\xschema.xsd。 这是一个exe应用程序,我不知道如何在我的VisualStudio项目中包含此文件并引用代码。它也将作为部署文件的一部分包含

Dim XsdFile as String = "c:\xschema.xsd"
Dim Settings As XmlReaderSettings = New XmlReaderSettings()
Settings.Schemas.Add("", XsdFile)

首先使用“添加”菜单将文件添加到项目中 然后将属性“Copy to Output Directory”更改为“Copy if newer”-这将在构建期间将文件复制到输出目录

然后您可以像这样访问该文件:

Dim XsdFile as String = "xschema.xsd"
你也可以 1) 使用xsi:noNamespaceLocation提示并设置

Settings.ValidationFlags = System.Xml.Schema.XmlSchemaValidationFlags.ProcessSchemaLocation 
2) 让您的部署在注册表中存储安装路径,例如 运行时期间架构文件的路径

3) 将模式文件作为“嵌入式资源”放在项目中,并使用

System.Xml.Schema.XmlSchema.Read(stream, validationHandler)
然后将其添加到设置中