草庐IT

Linq2XSD

全部标签

xml - XSD 任意元素任意顺序任意次数

我已经尝试了所有,,and这些都不能令人满意地帮助我的案例。有谁知道你会如何验证这样的事情。在哪里,下标签和/或可以以任何顺序出现任意次数(0-n)。但至少其中之一必须至少出现一次。忽略SubMenu标签内的验证。非常感谢在此问题上的任何帮助。 最佳答案 如果我正确理解了您的要求,那么您可以将该模型表述为“其中一个SubMenu或MenuItem后跟零个或多个SubMenu或MenuItem元素”。这可以很容易地表示为两个选择的序列:您可以使用Menu和SubMenu的共享全局类型更清晰地对此进行建模,但我希望这种方式相对明显。

xml - xsd 模式可以验证编码吗? UTF-8,可能吗?

通过使用模式,是否有任何简单/容易的方法来验证xml消息的编码?假设xml的第一行“不”可信?例如忽略?xmlversion="1.0"encoding="UTF-8"? 最佳答案 不,除了二进制数据元素类型之外,模式不能规定编码类型,但这种编码仍将被文档本身的高级编码封装。如果您意识到模式应该描述信息而不是传输格式,那么这是有道理的。XML规范规定了文档传输信息,例如在最一般意义上如何表示和存储信息。模式用于验证通过XML存储的数据是否满足各方之间的某种语法限制。XML规范中定义的序言(您提到的第一行)是存在(或不存在)的实体,投

c# - XML 的 XSD 验证有多昂贵?

我想在C#中使用xsd架构来验证大型xml文件。对于一个1000行xml代码的文件,验证需要很长时间。是否有任何提示和技巧可以更快地验证?您能否发布一些代码示例,这些代码示例可以更快地处理大型xml验证?编辑1:我这样验证ValidatingXMLwithXSD编辑2:对于大文件需要超过10秒。我需要在一秒内非常快地进行验证。编辑3:文件大小大于10Mb编辑4:我正在考虑this方法也一样,我也想将xml文件存储在数据库和xsd中。 最佳答案 您目前正在将整个文档加载到内存中,这无论验证如何,都是昂贵的。更好的选择是通过阅读器解析,

c# - 如何使用包含相同元素/类的 different.xsd 命名空间?

我在理解我应该如何处理xml文件时遇到了一些困难,所以我希望你们能指导我正确的方向:)希望我能足够清楚地解释我的问题:)我有很多.xsd文件,它们都是从上到下连接的。所以我有10个带有命名空间A的.xsd和10个带有命名空间B的.xsd。假设这两个命名空间代表每辆自己的汽车。这意味着它们都有很多相同的元素,比如发动机、车轮等。我认为我可以使用xsd.exe,然后在我的C#代码中序列化xml文件。但是当我将.xsd文件转换为两个.cs文件(每个命名空间/汽车一个)时,它们共享许多相同的类。当我想将这两个.cs文件添加到我的项目时,这会产生问题。不能有两个同名的类(class)......

c# - 使用 Linq,如何将 Xml 解析为仅在构造函数中接受参数的 C# 对象?

假设我有一些这样的XML:XYZ我有一个名为User的类。publicclassUser{publicUser(stringname,stringgender,stringimageUrl){Name=name;Gender=gender;ImageUrl=imageUrl;}publicstringName{get;}publicstringGender{get;}publicstringImageUrl{get;}}仅接受构造函数publicUser(stringname,stringgender,stringImageUrl)并且不允许设置属性,使用linq将此xml解析为这些对

xml - 在哪里声明一个 simpleType 以便它可以在同一个 XSD 中的多个元素中使用?

现在我有一个看起来像这样的XSD文件(例如FOO_SCHEMA.xsd):Comment我想修改两个元素(比如BAR1和BAR2)以使用一次。我知道如何将它用于其中一个,但我想在两个(也许更多)元素中使用它,而且我不确定如何在不复制相同的简单类型定义的情况下做到这一点。从谷歌搜索看来,我需要用名称声明类型但是我不知道把这个声明放在哪里。我尝试将它放在与xs:complexType和其他几个级别相同的级别,但它被模式验证器拒绝了。知道把这个声明放在哪里吗?有什么想法吗? 最佳答案 XSD文件中的所有可引用组件必须直接放在xs:sche

C# Linq to XML 添加、更新、删除

我有这个代码XElementnewClient=newXElement("Client",newXElement("Name",cmbClient.Text),newXElement("Service",newXElement("ServName",cmbService.Text)));xmlDoc.Add(newClient);xmlDoc.Save("Settings.xml");这是什么造成的ClientNameServiceName如果我再次按下Button1,那么它将创建另一个客户端部分,没关系,但我想要的是:如果不不存在,则创建一个新的客户部分。如果Client存在,则向其

c# - Linq to Object/XML 其中元素不存在

vardoc3=XDocument.Load(@"C:\Projects\ScanBandConfigTesting\ScanBandConfigTesting\ScanBandConfigSmall.xml");varscanBand=newScanBand(){ListOfForms=(fromformindoc3.Descendants("form")selectnewScanBandForm(){FormTypes=form.Attribute("types").Value,ScanBandNumber=form.Attribute("number").Value,ListOf

java - 在不使用文件的情况下从 JAXB 注释类生成 XSD

我正在尝试按照本文中提到的代码从Java注释类生成XSDIsitpossibletogenerateaXSDfromaJAXB-annotatedclassJAXBContextjaxbContext=JAXBContext.newInstance(Customer.class);SchemaOutputResolversor=newMySchemaOutputResolver();jaxbContext.generateSchema(sor);publicclassMySchemaOutputResolverextendsSchemaOutputResolver{publicResu

xml - 为什么对 XML 同时使用 XSD 和 DTD?

Stackoverflow有几个很好的问题contrastingXSDandDTD和choosingbetweenXSDandDTD.但是我遇到了同时使用XSD和DTD的数据格式和库。XML文档指定DTD,但支持库需要XSD进行编码和解码。同时使用XSD和DTD有什么好处? 最佳答案 我看到DTD和XSD一起使用的最重要的一次与您引用的示例有关:一个行业标准组很久以前就使用DTD定义了他们的XML词汇表和语法,但XML的特定消费者想要使用工具例如需要XSD的JAXB。因此,消费者使用XSD创建了一个并行模式,以便能够利用工具或满足其