我想使用C#Linq从XML获取子节点的数据

时间:2017-06-28 07:32:59

标签: c# xml linq

我试图使用c#Linq获取子节点数据,我成功获取数据,但不是完美的字符串即时获取数据 例如"<value>data</value>"像这样,但我想要数据,例如:"data"

这是我获取数据的代码

        var format = from data in xml.Descendants("Insurance")
                     select new
                     {

                         Policy = data.Element("CoreDetails").Elements("ReferenceColumn")
                                             .Elements("value")
                                             .Select(x =>x.ToString())
                                             .ToList()

                     };

XML

<?xml version="1.0" encoding="UTF-8"?>
<Insurance>
  <CoreDetails>
      <ReferenceColumn type="Array">
          <value>Policy number</value>
          <value>Address 1</value>
          <value>Buidling Prem</value>
      </ReferenceColumn> 
  </CoreDetails>
</Insurance>

1 个答案:

答案 0 :(得分:1)

您需要InnerTextValue

var format = from data in xml.Descendants("Insurance")
             select new
             {    
                 Policy = data.Element("CoreDetails").Elements("ReferenceColumn")
                       .Elements("value")
                       .Select(x =>x.InnerText) //.Select(x =>x.Value)
                       .ToList()
             };