草庐IT

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)......

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

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

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创建了一个并行模式,以便能够利用工具或满足其

xml - XSD maxLength 和 minLength 应用于整数

我在寻找如何告诉XSD字段数据的最小长度必须为12位数字和最大长度为14位数字时遇到了一些麻烦。有没有人知道如何做到这一点,因为minlength和maxlength只能用于字符串。 最佳答案 您可以使用xs:pattern来限制您范围内的位数:\d是匹配任何数字的正则表达式结构。{12,14}指定前面匹配的允许数量。 关于xml-XSDmaxLength和minLength应用于整数,我们在StackOverflow上找到一个类似的问题: https://s

.net - 如何避免 "The element ' x' in namespace 'x.xsd' has invalid child element 'Items' in namespace 'x.xsd' "?

我有一个xml文件,其结构是用以下xsd定义的:现在我正在尝试根据先前定义的xsd创建一些测试xml数据:JohnBluetesttest2test3由于重复的“Items”元素,此xml文件被视为无效。有什么办法解决这个问题吗? 最佳答案 怎么样 关于.net-如何避免"Theelement'x'innamespace'x.xsd'hasinvalidchildelement'Items'innamespace'x.xsd'"?,我们在StackOverflow上找到一个类似的问题:

xml - 如何在 xsd 中定义自定义数据类型?

我想检查我的XML中的字段是否属于positivedouble/decimal类型。XSD中有一个type="xs:positiveInteger"数据类型,但没有正double或小数。有没有办法通过定义自定义数据类型或其他方式来实现这一点? 最佳答案 我认为应该这样做。我仍在学习xsd的方法可能更短。 关于xml-如何在xsd中定义自定义数据类型?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

xml - 免费的 XML 生成器工具(XSD 到 XML)

是否有任何免费工具可以从给定的模式(XSD)生成XML文档?XSD到XML吗? 最佳答案 如果您正在使用VisualStudio,则可以使用GenerateSampleXML中的“XMLSchemaExplorer”功能。——那不会花你额外的钱。REF:HowtogeneratesampleXMLdocumentsfromtheirDTDorXSD? 关于xml-免费的XML生成器工具(XSD到XML),我们在StackOverflow上找到一个类似的问题:

c# - XSD:使用 Visual Studio xsd.exe 不生成 Array[] 而不是 List<>

我正在使用xsd.exe工具从xsd文件生成类。xsd文件:输出是:///[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","4.0.30319.1")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(Anonymo