草庐IT

Linq2XSD

全部标签

java - 我们可以为多个包中的一组 xsd 生成 JAXB 类吗?

我有一个xsd,其中嵌入了几个子XSD(使用“xsd:include”。)(但每个xsd都属于相同的命名空间)。我被要求在单独的子包(每个子XSD一个子包)而不是一个包中生成jaxb类。根据我目前阅读的内容,我们可以添加jaxb:schemaBindings到这些单独的xsds并在单独的包中生成类,如果只有那些xsds属于不同的命名空间。但在我的例子中,我想做的是在几个子包中为一组属于相同命名空间的xsds创建类。你能帮我用JAXB做这个吗?编辑:我已经添加了一些关于我的问题的描述来澄清它。我所有的XSD都有以下header。因此相同的命名空间。假设我的架构文件名为A.xsd、B.xs

c# - 我对 Linq XML 查询感到困惑

这是我的XML示例。如果ID=123,我想选择SystemSetting的值。但我无法弄清楚如何。如果id的值等于123,我如何选择SystemSetting值?123Test128127124Test21281270Test5250这是我尝试过的:vardoc=XDocument.Load(Application.StartupPath+@"\Settings.xml");varq=fromAnaindoc.Descendants("Private")fromsisteminAna.Elements("System")where(int)sistem.Element("ID")==1

xml - JAXB - 解码时的 XSD 验证不会因缺少属性而失败

我在解码方法和属性验证方面遇到问题。我的XSD中有一个设置为“固定”的属性,当我尝试解码不包含此固定属性的XML时,没有出现错误。对我来说,XML无效,因为该属性不存在并且应该引发异常。这是我的XSD:这是我尝试解码的XML:truehello这是我解码的方法:try{JAXBContextcontext=JAXBContext.newInstance("com.test");Unmarshallerunmarshaller=context.createUnmarshaller();Objecto=unmarshaller.unmarshal(newStringReader(messa

java - 没有命名空间的 XML。针对多个 XSD 之一进行验证

我经常收到一堆XML文件。我们无法控制它们,它们也没有namespace信息,我们真的很想避免更改它们。我们有一个XSD,我们需要使用它来验证XML文件,如果明确编码以应用它,它就可以工作。现在我们想向SAX解析器提示应该针对这个XSD(我们在文件系统上有)验证这个特定的XML方言,但是除了在XML文件中提供我们真正想要的noNamespaceSchemaLocation之外我找不到任何其他方法喜欢避免。建议?EntityResolver是否总是使用null/空命名空间调用?(一个功能性的解决方案会在我被允许的情况下给予500个奖励积分) 最佳答案

java - 使用带有 xml.xsd 导入 : "Failed to read schema document ' xml. xsd 的 XJC 时出错”

我正在尝试在第三方的模式文件(它是Amazon.com的产品API)上运行xjc。好吧,我遇到了麻烦,因为对于其中一个文件default.xsd,xjc对以下导入感到厌烦(它是模式声明之后的第一个导入):我不是XML方面的专家,但我认为xml.xsd是“核心”XML/XSD库的一部分,并且XJC默认情况下会知道该库的详细信息。但是当我运行任务时,我得到了这个错误:[WARNING]schema_reference.4:Failedtoreadschemadocument'xml.xsd',because1)couldnotfindthedocument;2)thedocumentcou

xml - C# 自定义操作 Linq to XML 与 XmlConfig/XmlFile

我想知道在创建/更改xml时C#自定义操作和util扩展之间的优缺点。根据我的经验-C#自定义操作:使用LINQtoXML和XmlReader比使用wix语法更常见。非wix用户修改代码会更方便。XmlConfig/XmlFile:无需了解c#即可更改xml。非常适合非程序员和小型msi软件包。希望这两种功能都能在这里发挥更多优势。 最佳答案 1)如果您正在编写托管代码,则必须处理回滚和卸载场景。如果您使用的是WIX代码,回滚和卸载方案将由安装程序处理。2)但是您不像在托管代码中那样拥有太多控制权,即您受限于WIX工具集提供的内容。

xml - 以编程方式将 XSD 1.1 架构转换为 XSD 1.0?

如何通过剥离所有1.1功能并仅保留与XSD1.0兼容的子集,将XSD1.1模式自动转换为XSD1.0模式?我意识到这会限制您可以利用多少XSD1.1功能,但我想象的用例是一个模式,您可以在其中发布XSD1.1版本和更兼容的XSD1.0版本,两者都描述相同的数据结构,但1.1版本有一些额外的数据完整性检查。 最佳答案 如果您正在设想同时发布1.1模式和相关的1.0模式,那么最简单和最好的方法可能是使用XSD1.1规范中描述的vc:命名空间。您可以使用vc:命名空间来标记1.1功能,例如您提到的断言(或包含它们的声明),并提供1.0等价

xml - 没有针对 Android 中的 XSD 验证 XML 的解决方案

我正在尝试针对Android设备上的XSD验证XML文件。我在谷歌上搜索了很多,找到了一些解决方案,比如xerces-for-android.在Stackoverflow中,我发现了一些类似this的页面,建议避免使用javax.xml。验证并为此使用Xerces。我在不同的AndroidAPI(17,20,25)中对其进行了测试,但遗憾的是我没有取得任何成功。能否请您帮助我并提出替代方法。 最佳答案 1-转到https://code.google.com/archive/p/xerces-for-android/2-单击左侧菜单中

c# - 填充从 XSD.exe 生成的类属性

好的,我从巨大的XSD文件生成了C#类。现在我有一组C#类、XSD模式和实际的XML数据。是否有一种自动或半自动的方式来用我拥有的XML数据填充这些类实例?谢谢。 最佳答案 如果您使用xsd.exe生成类,那么XmlSerializer应该可以完成这项工作...XmlSerializerser=newXmlSerializer(typeof(RootType));RootTypetype=(RootType)ser.Deserialize(source) 关于c#-填充从XSD.exe生

xml - LINQ to XML 和 Distinct 自定义类

我有一个非常有趣的LINQ问题。我有一个文档,我正在尝试过滤结果,但为了过滤,我匹配来自XML的一个元素的REGEX结果。我有以下内容,使用LINQtoXML来获取我正在寻找的个人数据。DimoDocumentAsXDocumentoDocument=XDocument.Load("test.xml")Dimresults=(FromxInoDocument.Descendants.Elements("ROW")_SelectNewWith{.ApplicationName=GetApplicationName(x.Element("Message")),_.EventId=x.Ele