简体   繁体   English

使用XDocument解析xml,solr结果

[英]Parsing xml using XDocument, solr results

I want to take the solr response xml, and load a custom collection. 我想获取solr响应xml,并加载一个自定义集合。

I'd like this to be done the XDocument way, as I need to learn linq to xml. 我希望通过XDocument方式完成此操作,因为我需要学习linq to xml。

So the XML looks like: 因此,XML看起来像:

<response>

<lst>
</list>

<result ... >

<doc>

     <arr name="cat">
     </arr>

     <str name="t1">text</str>
     <str name="t2">text2</str>
     <str name="t3">text3</str>
     <float name="amount">35.99</float>


</doc>
<doc>
..
</doc>

</result>

</respones>

My collection: 我的收藏:

List<Result> results = new List<Result>();


public class Result
{
   string T1
   string T2
   string T3
   decimal Amount

}
XDocument doc = XDocument.Load(yourXmlfilePath);

List<Result> results = doc.Root.Descendants("doc")
    .Select(e=>new Result
     {
           T1= e.Elements("str").First(s=>s.Attribute("name").Value.Equals("T1")).Value,
           T2= e.Elements("str").First(s=>s.Attribute("name").Value.Equals("T2")).Value,
           T3= e.Elements("str").First(s=>s.Attribute("name").Value.Equals("T3")).Value,
           Amount= decimal.Parse(e.Element("float").First(s=>s.Attribute("name").Value.Equals("amount")).Value)
      }).ToList();

我将看一看“ .NET Framework中的XML序列化” ,因为它应该指导您如何将XML从Solr映射回所需的对象表示形式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM