C#相当于VB.NET"Imports <xmlns>"XML模式

Cha*_*evy 2 c# vb.net xml-namespaces

我有一个旧的VB.NET Web应用程序项目,我正在转换为C#.我已经使用SharpDevelop转换了大部分应用程序但是遇到了转换一些特殊情况代码的问题:

' Namespace
Imports <xmlns:items="urn:list_items">

' Code:
Dim group = From items In ListItems...<items:item> _
                 Where items.<item.name> = "Something"
                 Select names = items.<item.name>
Run Code Online (Sandbox Code Playgroud)

我不知道VB.NET使用XML模式的方法的C#等价物.有没有一种方法可以导入模式并使用相同的LINQ语句?

编辑:

让我通过一个循环的部分是转换(通过SharpDevelop)Imports <xmlns:items="urn:list_items">using urn:list_items.编译器抱怨这种语法.

我很好奇是否有一个C#等价的指令来导入XML模式并将其用作LINQ查询的一部分,但考虑到C#不像VB.NET那样支持XML文字,它不是相关.

Joh*_*ers 5

没有等价物.C#不支持XML文字.


C#确实支持LINQ to XML.但是,您发布的代码是特殊的VB.NET语法,它允许以更接近实际XML的形式指定XML和XML处理.C#与此无关.


如果您实际上并不是在寻找等价物,而只是翻译,那么可能会有以下情况:

XNamespace itemsNs = "urn:list_items";
var group = from items in ListItems.Descendants(itemsNs + "item")
            where items.Element("item").Element("name").Value == "Something"
            select new
                {
                    names = items.Element("item").Element("name").Value
                };
Run Code Online (Sandbox Code Playgroud)