草庐IT

Linq2XSD

全部标签

c# - 如何在 Linq-to-XML 中按路径查找 XML 节点

如果我将特定节点的路径作为字符串获取,我能否通过使用XElement(或XDocument)的Linq/Method以某种方式轻松找到所述节点。有许多不同类型的XML对象,作为额外的奖励,如果您能为我提供一份关于为什么/如何使用不同类型的指南,那就太好了。编辑:好的,在被指向XPathSelectElement之后,我正在尝试它,所以我可以给他正确的答案,但我不能完全让它工作。这是我正在尝试的XMLSomeNameSomeTypeAlot和我的代码stringpath="Product/Name";stringname=xml.XPathSelectElement(path).Valu

xml - 如何使用 XSLT 显示 XSD 验证的 XML

我已经为此争论了一段时间,但还没有找到明确的答案。据我所知,我可以将数据存储在XML文件中,使用XSD对其进行验证,然后使用XSLT整齐地显示数据。但是,我在尝试执行XPath查询以选择我希望在XSLT中显示的数据时遇到了问题。当我使用像“.//”或“*”这样的通用选择器时,我得到了我期望的结果。但是,当我尝试使用更具体的选择器时,例如:'root/responses'或此处的任何其他变体,我没有得到任何结果。XSD正确验证了XML文件,因此我想我的数据至少在一定程度上是正确的。当我删除XML文件中的XSD引用时,有效地删除了数据验证,我的XPath查询突然开始工作了!有什么我想念的吗

c# - LINQ:根据属性值从 XML 中删除元素?

如何根据匹配的属性值删除xml中的任何元素?这是我的XML:我正在使用以下LINQ查询:varremove=fromelemetinxdoc.Elements("Projects").Elements("Project")whereelemet.Attribute("projectName").Value=="project1"selectelemet.Parent.Remove();我在选择为时遇到编译时错误:ThetypeofexpressioninselectclauseisIncorrect编辑答案:这个对我有用。谢谢大家varxElement=(fromelemetinxdo

c# - 在代码中从 XML 创建 XSD

我正在使用MSDN中的这段代码从XML创建XSDXmlReaderreader=XmlReader.Create("contosoBooks.xml");XmlSchemaSetschemaSet=newXmlSchemaSet();XmlSchemaInferenceschema=newXmlSchemaInference();schemaSet=schema.InferSchema(reader);foreach(XmlSchemasinschemaSet.Schemas()){textbox.text=s.ToString();}我想根据我的xml文件输出.xsd。当我生成.xs

xml - XSD maxOccurs ="unbounded"

我使用xsd.exe/out从XML片段生成了一个XSD文件它所做的是为某些元素创建maxOccurs="unbounded"属性。如果我只希望该元素出现一次,而不是一个集合,我应该像这样设置maxOccurs吗?maxOccurs="1" 最佳答案 是的。当然,请记住maxOccurs实际上是最大出现次数-仍然可以为零。如果您希望始终有一个,您还需要minOccurs="1"。 关于xml-XSDmaxOccurs="unbounded",我们在StackOverflow上找到一个类似

c# - 使用 LINQ to XML 生成 xml

假设我有一个如下所示的类,如何使用LINQtoXML创建如下所示的xml?publicclassOrder{publicstringOrderNo{get;set;}publicstringItemId{get;set;}publicstringItemDesc{get;set;}publicintQty{get;set;}}1W001C#T-Shirst22W002XMLT-Shirt1 最佳答案 虽然您可以使用XmlSerialization,但在很多情况下,使用LINQtoXML也同样简单,并且不会将您的类实现锁定到单个序列化

xml - 在 Ruby 中使用多个 XSD 验证 XML

我正在生成大量XMPP节,并希望根据可用规范验证它们here在我的单元测试中。目前我正在使用Nokogiri来实现这一点,比如xml=Nokogiri::XML(xmpp_stanza)schema=Nokogiri::XML::Schema(xmpp_schema)assertschema.valid?(xml)现在这工作正常,除了它被报告为无效,因为每个模式只覆盖一个命名空间,而我的XMPP节有多个命名空间。例如:InvalidXML:Element'{http://jabber.org/protocol/pubsub}pubsub':Nomatchingglobalelement

xml - 将 XML 注释添加到由 LINQ to SQL 设计器生成的类属性

我使用VisualStudio中的LINQtoSQL设计器来创建数据库的对象模型。现在,我想向每个生成的属性添加XML注释,但我无法弄清楚如何在下次刷新dbml文件时不删除属性的情况下执行此操作。如何做到这一点? 最佳答案 我认为不可能自动使xml注释与自动生成的代码保持同步。但是,xml注释可以留在单独的文件中(只需在“项目属性”->“构建”选项卡上设置“XML文档文件”选项)。您可以创建初始版本的XML文档文件并在必要时手动更新 关于xml-将XML注释添加到由LINQtoSQL设计

xml - Visual Studio 2010 中的 XSD key/keyref intellisense 验证支持

我一直在寻找答案,但找不到:VisualStudio2010是否支持通过Intellisense进行XSDkey/keyref验证?如果是这样,如何让它发挥作用?如果没有,VisualStudio中是否有一种(内置的)方法可以在具有XSD架构的XML中进行键/引用验证?谢谢!更新:请注意,问题不是关于如何验证具有XSD文件的XML。我特别询问VisualStudio中的key/keyrefintellisense/whatever支持,似乎根本没有添加。 最佳答案 VisualStudio2012现在支持验证受引用架构中定义的键/k

c# - Linq to Xml : selecting elements if an attribute value equals a node value in an IEnumerable<XElement>

我创建了一个IEnumerable对象,它只包含我想要从xml文件中获取的节点:IEnumerablerosters=XDocument.Load("roster.xml").Elements("rosterlist").Elements("roster").Where(w=>w.Element("division").Value.Equals("SUPERAWESOMEDIVISION"));所以它是这些的集合:12我只想抓取userid属性也是rosters集合中的userid节点的用户。IEnumerableusers=XDocument.Load("user.xml").Ele