0

我有一个我自己创建的 Xml Schema,并使用 Xsd.exe 工具生成了相应的 C# 类。然后,我的应用程序将 Xml 文档读入(反序列化)到生成的类型中。

这是我用来反序列化的代码:

XmlSerializer serializer = new XmlSerializer(typeof(MyConfig));
TextReader textReader = new StreamReader(fileName);               
MyConfig config = (MyConfig)serializer.Deserialize(textReader);            
textReader.Close();

XmlSerializer 在解析 Xml 时非常宽容。Xml 对于架构可能无效,但仍可以反序列化。

我想要做的是在反序列化文件之前验证 Xml。我有谷歌如何做到这一点,这似乎是直截了当的。

我遇到的问题/担心是我想交付单个 .EXE 文件,但如果我的程序针对 Xml Schema 文档进行运行时 Xml 验证,我也必须将 .xsd 作为交付的一部分确保这一点.xsd 文件始终位于可执行文件的相同(相对)目录中?

也许有一种方法可以Xml Schema 文档嵌入到我编译的应用程序中,这样我就不必从磁盘中查找/读取它了?

谢谢!

4

0 回答 0