首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Linq to xml读取XML

使用Linq to xml读取XML
EN

Stack Overflow用户
提问于 2012-06-22 02:05:10
回答 1查看 144关注 0票数 0

请检查代码,并建议需要做哪些更改才能获得预期的输出。选择代码是伪的。

xml:

代码语言:javascript
复制
<?xml version='1.0'  encoding='Cp1252' ?>
<RESULTS>
    <ROW>
        <COLUMN NAME="ID"><![CDATA[1234]]></COLUMN>
        <COLUMN NAME="FName"><![CDATA[Joe]]></COLUMN>
        <COLUMN NAME="LName"><![CDATA[Doe]]></COLUMN>
    </ROW>
    <ROW>
        <COLUMN NAME="ID"><![CDATA[5678]]></COLUMN>
        <COLUMN NAME="FName"><![CDATA[Jill]]></COLUMN>
        <COLUMN NAME="LName"><![CDATA[Martin]]></COLUMN>
    </ROW>
</RESULTS>

代码:

代码语言:javascript
复制
static void Main(string[] args)
{    
    XDocument doc = XDocument.Load("C:\\test.xml");
    var query = from headrow in doc.Descendants("ROW")
                from COLUMN in headrow.Descendants("COLUMN")
                select new 
                { 
                    ID = COLUMN.Element where (string)COLUMN.Attribute== "ID",
                    FName = COLUMN.Element where (string)COLUMN.Attribute== "FName",
                    LName = COLUMN.Element where (string)COLUMN.Attribute== "LName"
                };


    foreach (var result in query)
    {    
        Console.WriteLine(result);               
    }    
}

异常输出

1234无名氏

5678吉尔·马丁

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-22 03:21:34

看看以下内容是否有帮助:

代码语言:javascript
复制
var query = from headrow in doc.Descendants("ROW") 
            select new 
            {
                ID = headrow.Elements("COLUMN").First(c => c.Attribute("NAME").Value == "ID").Value,
                FName = headrow.Elements("COLUMN").First (c => c.Attribute("NAME").Value == "FName").Value,
                LName = headrow.Elements("COLUMN").First (c => c.Attribute("NAME").Value == "LName").Value
            };

foreach (var result in query) 
{     
    Console.WriteLine("{0} {1} {2}", result.ID, result.FName, result.LName);                
}     
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11144106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档