【发布时间】:2016-01-07 06:38:32
【问题描述】:
我正在尝试将此 VB.Net LINQ 转换为 C# LINQ。
基本上,最终解决方案试图实现的是接收一个 XML 文件;见sn-p:
<BasicFee>
<TrialType>Trial</TrialType>
<A>1326.85575</A>
<B>992.409</B>
<C>668.67075</C>
<D>1260.50925</D>
<E>318.8955</E>
<F>323.30925</F>
<G>323.30925</G>
<H>323.44125</H>
<I>323.169</I>
<J>1326.85575</J>
<K>932.877</K>
</BasicFee>
通过传递参数“Trial”和“B”,结果会给我这个值“992.409”(来自 Trial / B)。
编辑 - 此 VB 不是实现结果的正确语法。请查看已接受的答案。
VB 等价物显然是这样的;
Dim sResult As String = (From oRecord In oXML.Descendants("BasicFee") Where oRecord.< Name >.Value = "Trial").FirstOrDefault.< B >.Value
我尝试了很多不同的方法,但始终得到相同的结果(Trial 元素或 A 元素值(不能同时使用它们)。
我希望会有类似的东西:
var example = root.Elements("BasicFee").Elements().Where((c=>c.Value == "Trial" && c.Value == "A"));
有什么想法吗?
谢谢。
【问题讨论】:
-
你的VB版本不会有任何结果,没有
<Name>元素。 -
@JeffMercado 谢谢,我已经注意到(我会编辑问题)——在乔恩向我展示了正确的例子之后,现在一切都说得通了。
标签: c# xml vb.net linq xelement