C#相当于VB.NET“Imports <xmlns>”XML schema </xmlns>

时间:2013-05-06 19:09:47

标签: 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>

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

编辑:

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

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

1 个答案:

答案 0 :(得分: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
                };