LINQ:我如何查询字符串?

时间:2011-07-12 07:14:21

标签: linq linq-to-entities

如何查询以下字符串,从中提取信息?

<Glyphs  
Fill="#ff000000" 
FontUri="\Documents\1\Resources\Fonts\547B9B52-1992-40E2-BBAA-0D815B2C6215.odttf" FontRenderingEmSize="10" 
StyleSimulations="BoldItalicSimulation" 
OriginX="20" 
OriginY="1094.96" 
UnicodeString="SomeString" />

例如,如何使用LINQ读取OriginY值?

2 个答案:

答案 0 :(得分:2)

你得到的字符串看起来很像XML。因此,您可能希望尝试使用LINQ to XML。例如,使用XDocument类:

var doc = XDocument.Parse(@"<Glyphs  
    Fill=""#ff000000"" 
    FontUri=""...."" FontRenderingEmSize=""10"" 
    StyleSimulations=""BoldItalicSimulation"" 
    OriginX=""20"" 
    OriginY=""1094.96"" 
    UnicodeString=""SomeString"" />");

var fill = doc.Root.Attribute("Fill");

答案 1 :(得分:1)

            string s = @"<Glyphs  
Fill=""#ff000000"" 
FontUri=""\Documents\1\Resources\Fonts\547B9B52-1992-40E2-BBAA-0D815B2C6215.odttf"" FontRenderingEmSize=""10"" 
StyleSimulations=""BoldItalicSimulation"" 
OriginX=""20"" 
OriginY=""1094.96"" 
UnicodeString=""SomeString"" />";

            double val = (double)XElement.Parse(s).Attribute("OriginY");
            Console.WriteLine(val);