问题标签 [linq-to-xsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - 如何从 XML 文件中获取数据到业务对象中?
我需要在我的 MVC 2 应用程序中构建一个允许用户上传 XML 文件的视图。XML 文件将符合 XSD。我需要解析 XML 并提取数据以填充 C# 对象,然后将这些对象发送到 Web 服务。
我的问题是......因为我知道 XML 文件的确切“格式”,因为 XSD,是否有一些更简单的方法可以将 XML 文件中的数据“移动”到我的业务对象中?
我读到了一些 Linq-to-XSD 项目,但它似乎已被放弃。Linq-to-XML 看起来不是很有帮助,因为我仍然必须“遍历”整个 XML 文档以获取所有数据。
当然有更简单的方法吗?
c# - 使用 linq 查询 xml
我正在尝试使用 linq 从 xml 查询一些信息,但我收到这样的错误 - 是的,我已经定义了 - 使用 System.Linq 你能告诉我,哪里有问题吗?谢谢
错误 1 找不到源类型“urn.P.IEEE.Item1671.Item2.Item2008.Item02.InstrumentDescription.InstrumentDescription”的查询模式的实现。未找到“选择”。D:\Documents and Settings\e539951\我的文档\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 28 36 WindowsFormsApplication1
c# - 跨多个命名空间和部分类复制代码
我正在使用 LinqToXSD 根据客户的 XSD 生成文档模型(代码)。由于每次生成文档模型时这些 XSD 共享通用结构,因此某些对象会重复。为了防止编译问题,我将每个文档模型放在自己的命名空间中。这效果很好。
但现在我想对这些公共部分类的对象进行一些自定义验证。所以我IValidate
用一个Validate()
方法定义了一个接口。现在我在多个对象模型中生成了一些低级对象,但每个对象模型都在不同的命名空间中。
现在我想编写一个单独的部分类文件来在我的所有 foo 类中添加IValidate
接口和方法。Validate()
但是,这当然行不通,因为它们实际上是不同的对象。由于生成的代码和用于生成代码的 XSD 库,我有很多这些。
如果我可以隐藏内部结构(阅读上面的'......'),这将起作用。我在不同的命名空间中有很多 foo(我有 foo1 到 foo100,每个都有相同的问题)。我需要复制代码,我知道这是不行的,我不想这样做。但是,如果我这样做了,我至少不想维护这么多相同代码的副本。
我相当有信心这可以通过动态来完成,但我宁愿不必去那里。
谁能建议一些其他方法来编写这些验证方法而不必手动复制到每个 namespace.class 的部分类?
c# - 使用自定义 WSDL 和引用模式,为什么我的 SOAP 方法的返回 Xml 不能从对象正确序列化?
看完这篇文章后:
我决定尝试将我们现有的消息设计模式导入新的 SOAP 服务的 WSDL。
这都是在 VS2008 和 .NET 3.5 中,Altova XMLSpy 2009 用于模式和 wsdl 设计。
所以我做了以下事情:
- 编写自定义 WSDL,导入我们的 XSD 接口规范。
- 使用 WSDL.EXE 生成服务器存根代码
- 在 Web 服务项目中包含 XSD
- 使用Linq To Xsd生成我们使用的强类型 XDocument 包装器
- 手动编辑生成的存根代码以删除多余的自动生成的包装类
- 手动编辑存根代码以将 WSDL 中的类型映射到 Linq2Xsd 生成的包装器
- 禁用 WSDL 生成并使用
WebServiceBindingAttribute
- 使用常规 Web 参考创建 win forms 测试平台
好的,问题来了:
SOAP 请求工作完美,参数的序列化和反序列化工作。问题中的 SOAP 响应,序列化创建了格式不正确的 Xml,而客户端反序列化只是无法工作。
这是 SOAP 响应:
注意嵌套GetCameraLocationsTableResponse
元素,这是错误的。我已经确认我们的 XDocument 包装器创建了内部GetCameraLocationsTableResponse
,并且在 SOAP 消息生成器的内部工作中添加了外部GetCameraLocationsTableResponse
它应该是:
所以我很难过,客户端代理代码正确序列化但服务器代理代码没有。当然,这是我搞砸的服务器代码!
名称已更改为Blah
保护无辜者。
作为参考,这是我编辑的服务器端代理代码:
这是我为将上述内容实现为 Web 服务而编写的代码:
从这里使用 system.diagnostics 开关,我设法提取了自动生成的序列化代码:
这是自定义 WSDL
谢谢阅读,
詹姆士。
asp.net-mvc-3 - 如何在 C#.Net 中使用 XSD 文件构建 XML
嗨,我有一个 XSD 文件,解释了我必须使用的必填字段。
使用该 XSD 模式,我必须构建和 XML 请求并路由到第三方服务提供商,一旦我的 XML 请求得到验证,系统(第三方)将返回一个响应,我必须再次阅读该 XML 响应并休息的逻辑实现。
我不知道从哪里开始使用这个 XSD 构建 XML
任何人都可以将我指向正确的地方或提供一些我可以用来使用 XSD 构建 XML 的示例吗
这是我的 XSD 的一部分
使用<xs:element name="RxHistoryRequest">
我必须构建 XML 和
使用<xs:element name="RxHistoryResponse">
我必须阅读回复
感谢您抽出宝贵时间帮助我。
c# - 如何在没有强制转换的情况下从 Xml 中保存和获取值?
我真正讨厌的是从 Xml 文件中转换每个元素或属性值。
此刻,我正在数百个模块中创建一个方法,其中指定如何将对象转换为 XmlFile。相信,这很累。所以我正在考虑另一种选择。
我正在调查 XSD,我不确定这是否会成为我的救赎。我正在使用 Linq to Xml 来保存和获取值。我的意思是,我的对象是这样组成的:
如您所见,它们有许多节点。还有另一种选择吗?我的意思是,强类型。
c# - 如何从类创建 XSD 架构?
我很难处理 XSD 文件。
我正在尝试从一个类创建一个 XSD 文件:
请注意,我在 Configuration 中有一个抽象类。使用该功能,是否可以创建 XSD,如果可以,如何创建?
这个想法是将类 Configuration 传递给 XSD。
c# - 使用 LinqToXSD,如何在不强制转换的情况下获取 xml 中的对象?
我正在使用这项技术将我的 XML 文件作为数据库进行管理。当我这样做时,通常我在库中创建类并使用 XSD.exe 我可以获得我的 XSD。
然后,使用 LinqToXSD 和生成的新 XSD,我可以访问数据。这是我的第一堂课,应该在我的课程中。
并访问我使用这个命名空间的数据
我意识到,它们是两个不同的类,我的意思是我需要将这个类(来自 XSD 的 urn.foo)转换为真正的 Foo(第一个)。所以,我有两个不同的课程,我只想上一个!
c# - 无需更改代码即可处理 XML Schema 更改
目前我们有一个 XML 模式,代码读取 xml 文件,验证模式并保存到数据库。将来会有架构更改,代码如何处理它们而不需要为新架构重写代码。
谢谢,
让我举个例子吧
XPath 映射配置
现在 C# 代码读取 id、name 和 desc 并根据 Mapping 配置生成插入语句
如果架构发生变化并且添加了新元素说价格,我们会将该价格添加到映射中,因此生成的新插入语句包括价格。
这行得通吗?