草庐IT

$信息架构​

全部标签

c# - XElement 的 XML 架构验证

我正在使用多个XElement对象为我的库中的多个对象提供一些用户指定的数据。我试图避免指定整个XML文件的结构,因为库不应该关心整个XML的外观,只要它需要的特定元素的结构正确即可。为此,我有3个单独的XSD文件,它们为我的类(class)需要的3个XElements中的每一个定义架构,但是我在验证XElement时遇到了一些问题针对模式。如果没有解决方法,似乎没有办法做到这一点。从MSDN页面,XElement.Validate()扩展方法似乎适用于重新验证较大文件的子元素。XmlSchemaObject参数导致了我的问题,因为我不能假设它会出现在任何XElements中。我想我可

xml - 我可以重新定义 XSD 架构以更改某个类型的子项的 maxOccurs 属性吗?

我正在尝试扩展XML模式以更改子元素在元素下出现的次数。在原始模式中,父类型是这样定义的:我想让CrimeSchedule和CrimeMoneyAndSecurities都是重复元素。我认为这可能有效(在xsd:redefine内部):但是,我得到以下错误:cos-nonambig:CrimeScheduleandCrimeSchedule(orelementsfromtheirsubstitutiongroup)violate"UniqueParticleAttribution".Duringvalidationagainstthisschema,ambiguitywouldbecr

xml - 我在哪里可以找到有效的 SVG XML 架构(用于生成 ecore)?

我尝试导入SVGXMLSchema进入EMF,获取ecore中的SVG元模型。但是,由于架构无效,导入失败:实际上,svg.xsd引用XMLSchema.dtd,它本身引用了datatypes.dtd,这是不存在的!因此,我尝试从svg网站(svg.xsd、XMLSchema.dtd、xlink.xsd、xml.xsd)下载必要的文件,并从anotherlocation下载缺少的datatypes.dtd。.但是,我在验证模式时不断收到很多错误,例如Error:XSD:AnattributereferencemaynothaveatypeError:XSD:Ancontentmodel

C#:用XmlDocument解析XML时的行信息

使用XmlDocument解析XML文件并在以后仍保留错误消息的行信息时,我有哪些选择?(顺便说一句,是否可以用XML反序列化做同样的事情?)选项似乎包括:ExtendingtheDOMandusingIXmlLineInfoUsingXPathDocument 最佳答案 我知道的唯一其他选项是XDocument.Load(),它的重载接受LoadOptions.SetLineInfo。这将以与XmlDocument大致相同的方式使用。Example 关于C#:用XmlDocument解

c# - 使用 Visual Studio 2010 创建 XML 架构并从中自动生成可序列化类

我正在尝试使用visualstudio2010创建要序列化/反序列化的XML模式,但是拥有一个xml文件和另一个xml模式文件看起来真的很复杂,我不知道应该如何完成。我记得在visualstudio2005中,只需创建xml文件并使用xml设计器打开它,然后绘制架构,然后从架构中生成可序列化代码,就简单多了。任何有助于使用VisualStudio2010专业版执行相同操作的提示/链接。 最佳答案 让我尝试回答这个问题:打开你的VS项目。打开项目中的XML。在VS上,转到菜单选项卡并单击创建模式保存架构文件并添加到您的项目中。然后您可

c# - 添加(嵌入式资源)架构到 XmlReaderSettings 而不是文件名?

我正在编写一个解析Xml文件的应用程序。我有模式(.xsd)文件,我在尝试反序列化之前使用它来验证Xml:XmlReaderSettingssettings=newXmlReaderSettings();settings.Schemas.Add(null,"./xml/schemas/myschema.xsd");settings.ValidationType=ValidationType.Schema;XmlReaderreader=XmlReader.Create(xmlFile,settings);XmlDocumentdocument=newXmlDocument();docu

xml - 架构问题 : The global element ' ' has already been declared

我遇到的问题与此处的帖子非常相似:"Globalelement'configuration'hasalreadybeendeclared"inwebconfig虽然我不清楚它的解决方案。当我打开Views下列出的web.config文件时,我也收到了大约40条警告:已声明全局元素“”。这包括配置、位置、configSections、appSettings等。我是否在某处缺少.xsd文件?当我单击“XML”选项卡和“Schemas...”选项时,它告诉我我正在使用以下.xsd:RazorCustomSchema.xsdEntityFrameworkConfig_5_0_0.xsdDotN

c# - 什么时候可以使用 XML 文件保存信息?

使用XML保存信息的原因是什么? 最佳答案 可能有很多原因:与任何其他文件格式一样,它有利也有弊:优点:.Net原生支持将您的对象序列化为xml,然后再将它们反序列化。它比二进制格式或JSON对人眼更具可读性和描述性它很容易根据模式进行验证,以确保其格式正确。可以通过其他工具加载和解析。与原生.Net二进制序列化格式不同,它很容易与其他平台/语言互换它可以转换,您可以对其运行xpath。缺点:它比原生的.Net二进制序列化格式或JSON更冗长它不存储有关反序列化为xml的类的类型信息,而native二进制格式会。

XML 架构 : Can I make some of an attribute's values be required but still allow other values?

(注意:我无法更改收到的XML的结构。我只能更改验证它的方式。)假设我可以这样获取XML:我需要创建一个XSD架构来验证“街道”、“州”和“zip”必须存在。但我不在乎“StreetPartTwo”和/或“SomeOtherCrazyValue”是否恰好也存在。如果我知道只有我关心的三个可以被包含(并且每个只会被包含一次),我可以做这样的事情:但这不适用于我的情况,因为我可能还会收到我不关心的那些其他Address元素(它们也具有“Field”属性)。我有什么想法可以确保我关心的东西存在,但也让其他东西进来吗?TIA!肖恩 最佳答案

XML 架构 - 如何更改引用元素的名称?

我是XMLSchema菜鸟,这是我的第一个StackOverflow问题。请原谅我对两者的标准和礼仪的无知。在一个XML模式文件(.xsd)中,我包含了另一个模式(在我的控制之外),它代表了我的团队正在使用的一种事实上的标准。在外部模式中是一个具有长名称的复杂元素:...sub-elementsgalore...在我的模式文件中,有问题的元素被复制了,我认为这是不好的做法,并且它被赋予了一个缩写的小名字。我想要做的是用对其他模式中原始代码的引用替换复制的代码,但我需要维护这个小名称,它已经在现有实例文件中使用(也在我的控制之外)。我想做类似的事情:但是,'name'和'ref'属性是相