Tag: xsd

从xsd模式文件生成类时出错

我正在尝试从xsd架构生成一个类,但我收到以下错误消息: 警告:无法生成类,因为找不到具有复杂类型的顶级元素。 我的xsd文件看起来像这样: 我正在使用以下命令行生成类: xsd MonitoringConfiguration.xsd /languages:CS /Classes 注意我已经定义了一个复杂类型的顶级元素(MonitoringConfiguration)。 怎么了? 谢谢

使用Schematron / XSD在C#中进行XMLvalidation

我一直在寻找一种方法来对XML文档进行更高级的业务规则validation。 到目前为止,Schematron似乎能够做到,我需要什么。 我一直在四处寻找,我发现的少数几个图书馆已经很老了,而且似乎不再支持了。 Schematron在2002年只是“热门”吗? 有没有可以在C#中进行validation的库 – 或者我该怎么做? 或者是否有其他人可以进行高级validation并拥有C#库并且是标准化的?

如何在WCF服务中使用RequestContext MapPath

这篇MSDN文章说: HttpContext: Current is always null when accessed from within a WCF service. Use RequestContext instead. 我要做的是从我的IIS托管的WCF服务加载一些XSD文件。 问题是,我无法弄清楚如何在任何旧的vanilla ASP.NET网站中执行Server.MapPath(),例如: HttpContext.Current.Server.MapPath(schemaUri); 在IIS托管的WCF服务中使用RequestContext的等效方法是什么? 模式位于服务应用程序根目录下的“Schemas”目录中。 它们是使用web.config中的自定义配置部分引用的,如下所示: 我试图像这样加载: var schemaUri = HttpContext.Current.Server.MapPath(schema.Uri); 从普通的ASP.NET网站中可以正常工作,而不是IIS托管的WCF服务。

文件类型的默认构建操作

每次我将xsd文件添加到我的Visual Studio 2008构建项目时,其构建操作默认为“none”。 我经常忘记将这一个放到“内容”中,这会影响构建…… 反正有没有将xsd文件的默认构建操作设置为“内容”?

从aspx网页读取xml

我们必须从aspx页面读取数据。 当我们使用查询字符串调用页面时,它返回一个xml文档,其中包含与查询字符串匹配的数据。 我们有一个与我们得到的xml相匹配的XSD。 我想我们可以从http响应中读取xml文档。 这会有用吗? 我们如何将 XML与XSD 绑定 ,以便我们可以将XML文档视为强类型? 谢谢, 西拉 更新: 找到了关于如何反序列化的链接 在C#中将XML反序列化为对象

如何在C#中以编程方式创建XSD文件?

我有一个xml文件(我使用XmlDocument在c#中创建),现在我必须创建xsd文件,它也在C#中以编程方式对应…我怎么能这样做? 我可以使用相同的类来创建xml文件吗? 或者我应该使用其他任何(xsd相关)类?

LinqToXml不按预期处理可为空的元素

根据W3C标准,如果你有一个nil值的nillable元素,你应该像这样格式化: 但是如果你使用这个LinqToXml语句…… element.Add( new XElement(ns + “myNillableElement”, null); ……生成的XML是…… ……这是无效的。 根据W3C,不仅无效,根据微软自己的XML / XSDvalidation器无效。 因此,下次validationXML时,会出现错误。 我错过了一些可以打开正确处理可支付元素的开关吗? 谢谢。

为什么XSD.EXE创建两个.XSD文件,以及如何使用它们?

我使用以下命令从我的输入XML文件生成相关的xsd文件 – response.xml,我的困惑是(1)为什么有两个xsd文件输出(response.xsd和response_app1.xsd),我认为应该有只产生了其中一个? (2)如果我需要使用xsd / classes生成C#类文件,我应该使用哪个xsd文件? 我的环境:VSTS 2008 + C#+ .Net 3.5。 D:\>xsd response.xml Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 2.0.50727.3038] Copyright (C) Microsoft Corporation. All rights reserved. Writing file ‘D:\response.xsd’. 这是我的输入XML文件和输出XSD文件, http://www.mediafire.com/file/kzzoxw0zwgq/inputoutput.zip 编辑1: 当我执行xsd response.xsd生成相关的C#类时,有错误信息,这里是详细的输出, D:\>xsd response.xsd /classes Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version […]

在单个方法中针对XSDvalidationXML

我需要实现一个C#方法,该方法需要针对外部XSDvalidationXML并返回一个布尔结果,指示它是否格式正确。 public static bool IsValidXml(string xmlFilePath, string xsdFilePath); 我知道如何使用回调进行validation 。 我想知道它是否可以在一个方法中完成,而不使用回调。 我需要这个纯粹用于美容目的:我需要validation多达几十种类型的XML文档,所以我想做的就像下面这样简单。 if(!XmlManager.IsValidXml( @”ProjectTypes\ProjectType17.xml”, @”Schemas\Project.xsd”)) { throw new XmlFormatException( string.Format( “Xml ‘{0}’ is invalid.”, xmlFilePath)); }

xsi:type属性搞乱了C#XML反序列化

我使用XSD.exe根据XML模式(.xsd文件)自动生成C#对象。 我正在反序列化OpenCover输出,但其中一个部分类没有正确生成。 这是导致exception的行: 这是MethodPoint类的缩短版本: [System.CodeDom.Compiler.GeneratedCodeAttribute(“xsd”, “4.0.30319.33440”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)] public partial class CoverageSessionModulesModuleClassesClassMethodsMethodMethodPoint { private string vcField; private string uspidField; private string ordinalField; private string offsetField; private string slField; private string scField; private string elField; private string ecField; private string becField; private string bevField; private string fileidField; } 现在我已经浏览了很多.xml文件,但OpenCover输出文件是唯一一个在属性中包含冒号的文件。 MethodPoint对象也是唯一包含属性冒号的对象。 如您所见,该类不包含xsi:type属性,我知道只是添加它将因冒号而无效。 你如何处理xsi前缀? 这是从其中一个OpenCover XML文件生成的原始.xsd