Tag: xsd

将(嵌入式资源)架构添加到XmlReaderSettings而不是Filename?

我正在编写一个解析Xml文件的应用程序。 我有架构(.xsd)文件,我在尝试反序列化之前用它来validationXml: XmlReaderSettings settings = new XmlReaderSettings(); settings.Schemas.Add(null, “./xml/schemas/myschema.xsd”); settings.ValidationType = ValidationType.Schema; XmlReader reader = XmlReader.Create(xmlFile, settings); XmlDocument document = new XmlDocument(); document.Load(reader); ValidationEventHandler eventHandler = new ValidationEventHandler(settings_ValidationEventHandler); document.Validate(eventHandler); 请注意,参数*。/ xml / schemas / myschema.xsd“是.xsd相对于程序执行的路径。 我不想使用文件名/路径,而是宁愿将.xsd文件编译为我项目中的嵌入式资源(我已经添加了.xsd文件并将Build Action设置为Embedded Resource)。 我的问题是……如何将嵌入式资源架构添加到XmlReaderSettings架构列表中? settings.Schemas.Add有4种重载方法,但没有一种方法将嵌入资源作为参数。 它们都采用模式文件的路径。 我过去曾使用嵌入式资源来动态设置标签图像,所以我对使用嵌入式资源有些熟悉。 看看我的其他代码看起来我最终得到的是一个包含内容的Stream : System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly(); Stream myStream = myAssembly.GetManifestResourceStream(resourceName); 我假设嵌入的.xsd也将作为流读入,所以这会缩小我的问题。 当我引用包含架构而不是文件名的流时,如何将架构添加到XmlReaderSettings?

使用XSD.exe从多个XSD架构生成c#类

我有2个XSD文件。 一个XSD文件可以说ABC.xsd包含属于XML的元素。 另一个XSD文件让我们说XYZ.xsd包含这些元素的定义。 现在在ABC.XSD(包含元素)模式标记以及其他名称空间中,我们也提到了schemalocation 当我执行xsd.exe以生成我的C#类时。 它正在生成类,但缺少XYZ.xsd中的一些定义。 我正在执行 xsd.exe “ABC.xsd” “XYZ.xsd” /c 任何帮助都会有所帮助 编辑1: @Felice,在我的XYZ.xsd中,我有这样的定义 Contact phone or fax number with national or international format. Only numbers are allowed 看到这里定义的模式,它没有出现在C#类中。 任何帮助。 对不起,我是新来的。 谢谢你的回答

如何在.NET中自定义JSON枚举的反序列化?

我有以下示例C#代码,使用svcutils.exe应用程序从xsd自动生成。 [DataContract] public enum Foo { [EnumMember(Value = “bar”)] Bar = 1, [EnumMember(Value = “baz”)] Baz = 2 } [DataContract] public class UNameIt { [DataMember(Name = “id”)] public long Id { get; private set; } [DataMember(Name = “name”)] public string Name { get; private set; } [DataMember(Name = “foo”)] public Foo Foo { get; private […]

在C#中针对嵌入式XSDvalidationXML

使用以下MSDN文档,我针对模式validationXML文件: http : //msdn.microsoft.com/en-us/library/8f0h7att%28v=vs.100%29.aspx 只要XML包含对架构位置或内联架构的引用,这就可以正常工作。 是否可以将模式“硬编码”嵌入到应用程序中,即XSD不会作为文件驻留,因此XML不需要引用它? 我说的是: 加载要validation的XML(没有架构位置)。 将XSD加载为资源或其他任何内容。 做validation。

如何在c#中使用xsd?

我是xml的新手。 我使用xsd.exe从xml创建.xsd文件和.cs文件。 但我不知道现在用什么或如何访问它? 我见过一些例子,但发现它们令人困惑。 是否有一个简单的教程或某个人可以给我的例子? //—————————————————————————— // // This code was generated by a tool. // Runtime Version:4.0.30319.237 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //—————————————————————————— using System.Xml.Serialization; // // This source code was auto-generated by xsd, Version=4.0.30319.1. // /// [System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”, […]

为什么我的XMLvalidation失败了它的架构?

我需要针对模式validationXML文件。 XML文件是在代码中生成的,在保存之前我需要validation它是否正确。 我把这个问题解决了它的最基本要素,但我遇到了问题。 XML: MRIDDemo 1234 1/1/2005 架构: ValidationCode :(这段代码来自我编写的一个简单应用程序来测试validation逻辑.XML和XSD文件存储在磁盘上并从那里读取。在实际的应用程序中,XML文件已作为XmlDocument存在于内存中对象和XSD将从内部Web服务器读取。) private void Validate() { XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; //settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; //settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; //settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings; settings.ValidationEventHandler += new ValidationEventHandler(OnValidate); XmlSchemaSet schemas = new XmlSchemaSet(); settings.Schemas = schemas; try { schemas.Add(null, schemaPathTextBox.Text); using (XmlReader reader = XmlReader.Create(xmlDocumentPathTextBox.Text, settings)) { validateText.AppendLine(“Validating…”); […]

是否有可用于从xsd生成c#类的T4模板?

是否有可用于从xsd生成c#类的T4模板?

如何在不访问服务的情况下将WCF WSDL和XSD共享给客户端?

我尝试生成WSDL,然后使用客户端手动在WSDL中找到每个XSD。 该服务目前只在我的本地主机上,尚未发布。 客户端收到以下错误: 该文件已被理解,但无法处理。 WSDL文档包含无法解析的链接。 下载’http:// localhost:xxxx / MyService.svc?xsd = xsd0’时出错。 无法连接到远程服务器无法建立连接,因为目标计算机主动拒绝它127.0.0.1:xxxx 如何生成和共享服务WSDL和XSD,以便他们可以开始编写客户端代码(无需访问服务atm? 编辑 WSDL / XSD中与这些问题相关的问题 WSDL XSD 编辑2:感谢@The Indian Programmmer我能够使用此命令生成一个代理类来编程: “C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\svcutil.exe” -noconfig -namespace:*,SERVICE.INTERFACE.NAMESPACE -serializer:datacontractserializer https://My-PC/SvrLocation/MyService.svc?wsdl (托管在本地IIS中)

使用强类型XSD反序列化XML文档时出错

在尝试使用XmlSerializer.Deserialize()方法反序列化特定的XML文档时,我遇到了一个非常烦人的问题。 基本上,我有一个强类型XSD,其元素类型为double。 当尝试反序列化特定XML文档的元素时,我得到通常的“System.FormatException:输入字符串格式不正确”。 exception,因为在该特定文档中,元素没有值。 这里有一些代码供你书呆子。 示例XML文档: Barcelona 4591 XSD: TrackInfo类: [Serializable] public class TrackInfo { private string name = string.Empty; private double length = 0.0; private double averageSpeed = 0.0; [XmlElement] public string Name { … } [XmlElement] public double Length { … } [XmlElement] public double AverageSpeed { … } } 样本反序列化代码: XmlDocument xmlDocument […]

基于xsd模式生成xml(使用.NET)

我想根据我的xsd架构(cap.xsd)生成一个xml文件。 我找到了这篇文章,并按照说明操作: 使用XSD文件生成XML文件 我已经在xsd.exe的帮助下创建了这个类,并通过拖放到我的解决方案中插入它 之后,我构建了我的解决方案并创建了xml。 但它不基于xsd架构。 xml文件有一个包含字符的元素,但架构说必须有数字(double) 无论如何,我没有看到xsd架构对生成的xml有什么影响? 如果删除架构,则仍会创建xml文件。 并且在此行创建了xml文件: var data = new Program {Time =“abc”,Source =“443543253243”,}; ..而不是我的架构: 怎么了? 我的课: namespace testapp { using System.IO; using System.Xml.Serialization; public class Program { public string Time; public string Source; public static void Main() { var data = new Program { Time = “abc”, Source = “buffalo”, […]