代码之家  ›  专栏  ›  技术社区  ›  ilija veselica

需要linq to xml查询帮助

  •  0
  • ilija veselica  · 技术社区  · 15 年前

    我有以下XML结构…

    <Fields>
        <Field>
            <Company>My Company</Company>
        </Field>
        <Field>
            <Address2>Villa at beach</Address2>
        </Field>
        <Field>
            <Email2>email2@mail.com</Email2>
        </Field>
        <Field>
            <Mobile>333-888</Mobile>
        </Field>
        <Field>
            <ContactMethod>Facebook</ContactMethod>
        </Field>
    </Fields>
    

    我想知道如何使用linq获取元素的名称?像这样的:

    var fields = (from field in contact.XmlFields.Descendants("Field")
                       select new ContactXmlView {Field = ...,Value = ...});
    

    我希望输出如下:

    Company: My Company
    Address2: Villa at beach...
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Olivier Payen Sackurise    15 年前

    假设每个“field”节点只有一个后代:

    var fields = (from field in contact.XmlFields.Descendants("Field")
                              select new ContactXmlView
                              {
                                  Field = field.Descendants().First().Name,
                                  Value = field.Descendants().First().Value
                              });