[英]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.