C# 带参数的LINQXML查询
我的目标是为XDocument创建一个查询,如果正确的日期位于属性C# 带参数的LINQXML查询,c#,xml,linq,linq-to-xml,C#,Xml,Linq,Linq To Xml,我的目标是为XDocument创建一个查询,如果正确的日期位于属性符号中,则该查询仅返回删除线的值 示例XDocument中的符号有一个tickerAAPL,日期131221,键入C,并以可变位数结束 示例XDocument: <query> <results> <optionsChain> <option symbol="AAPL131221C00245000" type="C">
符号中,则该查询仅返回删除线的值
示例XDocument中的符号
有一个tickerAAPL
,日期131221
,键入C
,并以可变位数结束
示例XDocument:
<query>
<results>
<optionsChain>
<option symbol="AAPL131221C00245000" type="C">
<strikePrice>245</strikePrice>
<lastPrice>299.04</lastPrice>
<change>0</change>
<changeDir/>
<bid>314.1</bid>
<ask>317</ask>
<vol>1</vol>
<openInt>5</openInt>
<option/>
<optionChain/>
<optionsChain>
....
<optionsChain/>
<results/>
<query/>
我可以通过以下查询检索所有罢工:
XDocument Doc = Example XDocument;
List<string> list = new List<string>();
list = Doc.Descendants("results")
.Descendants("optionsChain")
.Descendants("option")
.Elements("strikePrice")
.Select(d => d.Value)
.ToList();
XDocument Doc=示例XDocument;
列表=新列表();
列表=文档子体(“结果”)
.后代(“期权链”)
.后代(“选择权”)
.要素(“删除线价格”)
.选择(d=>d.Value)
.ToList();
如果正确的日期位于属性符号
中,我如何将两者结合起来,构建一个只返回删除日期
值的查询 改用XPath并以这种方式查询值怎么样
var nodes = doc.SelectNodes("//query/results/optionsChain/option[starts-with(@symbol, '--lookup value--')]/StrikePrice");
尚未测试上述内容,但对XmlDocument很有用
下面是一个示例,通过“Correct Date”在XDocument上使用xpatheevaluate,您是指要搜索的硬编码值吗?是的,我将有一个包含所需日期的字符串变量。我当前可以获取所有日期和所有删除日期。但是现在我想在我选择了一个特定的日期之后得到所有的罢工。那是什么返回类型?它会给你一个可以迭代的节点集合。不是在开发机器上,但是如果您使用var value=,您应该能够看到i get:System.Xml.Linq.XDocument不包含SelectNodes的定义。我使用的是“XDocument”,而不是“XmlDocument”。我可以转换它吗?用XDocument示例更新了我的答案
var nodes = doc.SelectNodes("//query/results/optionsChain/option[starts-with(@symbol, '--lookup value--')]/StrikePrice");