Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要帮助正确编写XML LINQ查询吗_C#_.net_Xml_Vb.net_Linq - Fatal编程技术网

C# 需要帮助正确编写XML LINQ查询吗

C# 需要帮助正确编写XML LINQ查询吗,c#,.net,xml,vb.net,linq,C#,.net,Xml,Vb.net,Linq,XML片段 <GameList> <Game> <GameDefinitiongameID>{1b2e4ff7-ddd3-4fe3-9fdf-6b2ee240d18c}</GameDefinitiongameID> <WMID>{01bc5c01-923d-4efb-bba6-49e93b2694ab}</WMID> <VersionNumberversionNumber>1.0.

XML片段

  <GameList>
  <Game>
    <GameDefinitiongameID>{1b2e4ff7-ddd3-4fe3-9fdf-6b2ee240d18c}</GameDefinitiongameID>
    <WMID>{01bc5c01-923d-4efb-bba6-49e93b2694ab}</WMID>
    <VersionNumberversionNumber>1.0.0.0</VersionNumberversionNumber>
    <Title>JamesBond007:Nightfire</Title>
    <GameExecutablepath>\easupport\go_ez.exe</GameExecutablepath>
    <GameExecutablepath>\easupport\jamesbond007nightfire_code.exe</GameExecutablepath>
    <GameExecutablepath>\easupport\jamesbond007nightfire_ereg.exe</GameExecutablepath>
    <GameExecutablepath>\easupport\jamesbond007nightfire_ez.exe</GameExecutablepath>
    <GameExecutablepath>jamesbond007nightfire_uninst.exe</GameExecutablepath>
    <GameExecutablepath>unwise.exe</GameExecutablepath>
    <RatingratingID>{CEC5DB5A-B4C9-4809-96C6-39CE715E4790}</RatingratingID>
    <ratingSystemID>{36798944-B235-48ac-BF21-E25671F597EE}</ratingSystemID>
    <DescriptordescriptorID>{F110F831-9412-40c9-860A-B489407ED374}</DescriptordescriptorID>
    <RatingratingID>{18CD34B7-7AA3-42b9-A303-5A729B2FF228}</RatingratingID>
    <ratingSystemID>{768BD93D-63BE-46A9-8994-0B53C4B5248F}</ratingSystemID>
    <DescriptordescriptorID>{B54162A2-F67F-46dc-9ED5-F6067520EC94}</DescriptordescriptorID>
    <DescriptordescriptorID>{BE562A5F-2A80-4c28-9752-74C696E2ABAF}</DescriptordescriptorID>
  </Game> 
Name是包含搜索字符串的变量

现在,我如何从members变量获取字符串数组或任何其他可解析格式的所有信息

我不熟悉XML和LINQ

我对C和VB.Net都很满意

假设您想要获得游戏节点,那么您已经非常接近了:

Dim members = From m In GameXml.Element("GameList").Elements("Game")
     Where m.Element("Title").Value.ToLower.Contains(Name) = True
     Select m.Descendants("Game")
或C:

假设您想要获得游戏节点,那么您已经非常接近了:

Dim members = From m In GameXml.Element("GameList").Elements("Game")
     Where m.Element("Title").Value.ToLower.Contains(Name) = True
     Select m.Descendants("Game")
或C:

假设您想要获得游戏节点,那么您已经非常接近了:

Dim members = From m In GameXml.Element("GameList").Elements("Game")
     Where m.Element("Title").Value.ToLower.Contains(Name) = True
     Select m.Descendants("Game")
或C:

假设您想要获得游戏节点,那么您已经非常接近了:

Dim members = From m In GameXml.Element("GameList").Elements("Game")
     Where m.Element("Title").Value.ToLower.Contains(Name) = True
     Select m.Descendants("Game")
或C:


如果您不知道它的确切属性,可以执行以下操作:

dynamic members = from m In GameXml.Element("GameList").Elements("Game")
        where m.Element("Title").Value.ToLower.Contains(Name) = True
                select m;
现在您可以使用:members.ratingSystemID

但如果您知道这些属性,您可以创建一个类,如:

public class Game{
public string Title{set; get; }
public string Name {get; set;}
.
.
.
}
然后:

List<Game> members = from m In GameXml.Element("GameList").Elements("Game")
            where m.Element("Title").Value.ToLower.Contains(Name) = True
                    select new {Title = m.Title, Name = m.Name, ...};

因此,您可以像使用成员[0]一样使用它。如果您不知道它的确切属性,可以执行以下操作:

dynamic members = from m In GameXml.Element("GameList").Elements("Game")
        where m.Element("Title").Value.ToLower.Contains(Name) = True
                select m;
现在您可以使用:members.ratingSystemID

但如果您知道这些属性,您可以创建一个类,如:

public class Game{
public string Title{set; get; }
public string Name {get; set;}
.
.
.
}
然后:

List<Game> members = from m In GameXml.Element("GameList").Elements("Game")
            where m.Element("Title").Value.ToLower.Contains(Name) = True
                    select new {Title = m.Title, Name = m.Name, ...};

因此,您可以像使用成员[0]一样使用它。如果您不知道它的确切属性,可以执行以下操作:

dynamic members = from m In GameXml.Element("GameList").Elements("Game")
        where m.Element("Title").Value.ToLower.Contains(Name) = True
                select m;
现在您可以使用:members.ratingSystemID

但如果您知道这些属性,您可以创建一个类,如:

public class Game{
public string Title{set; get; }
public string Name {get; set;}
.
.
.
}
然后:

List<Game> members = from m In GameXml.Element("GameList").Elements("Game")
            where m.Element("Title").Value.ToLower.Contains(Name) = True
                    select new {Title = m.Title, Name = m.Name, ...};

因此,您可以像使用成员[0]一样使用它。如果您不知道它的确切属性,可以执行以下操作:

dynamic members = from m In GameXml.Element("GameList").Elements("Game")
        where m.Element("Title").Value.ToLower.Contains(Name) = True
                select m;
现在您可以使用:members.ratingSystemID

但如果您知道这些属性,您可以创建一个类,如:

public class Game{
public string Title{set; get; }
public string Name {get; set;}
.
.
.
}
然后:

List<Game> members = from m In GameXml.Element("GameList").Elements("Game")
            where m.Element("Title").Value.ToLower.Contains(Name) = True
                    select new {Title = m.Title, Name = m.Name, ...};
因此,您可以像使用成员[0]一样使用它