Я создаю дерево XML в памяти, используя XElement. Вот образец моего xml:
<Curve>
<Function>createCurve</Function>
<Parameters>
<Input>
<BaseCurve>
<CurveType Type="String">16fSmoothCurve</CurveType>
<Ccy Type="String">USD</Ccy>
<Tenors>
<Item Type="String">1M</Item>
<Item Type="String">3M</Item>
<Item Type="String">1U</Item>
<Item Type="String">Z1</Item>
</Tenors>
<Rates>
<Item Type="String">.02123</Item>
<Item Type="String">.02214</Item>
<Item Type="String">.021234</Item>
<Item Type="String">.02674</Item>
</Rates>
</BaseCurve>
</Input>
</Parameters>
</Curve>
Я создаю xml, соединяя вместе XElements. Например,
var root = new XElement("Curve",
new XElement("Function", "createCurve"),
new XElement("Parameters"), etc);
Затем я бы хотел запросить XElement через XPath. Например,
var tenors = root.XPathSelectElements("//Tenors/Item");
var rates = root.XPathSelectElements("//Rates/Item");
Я могу успешно выбрать один элемент, например,
var firstTenor = root.XPathSelectElement("//Tenors/Item");
var firstRate = root.XPathSelectElement("//Rates/Item");
Однако попытка выбрать несколько элементов дает мне 0 результатов.
Я пытался создать XDocument и запросить его, однако я получаю те же результаты. Я также попытался добавить XDeclaration в начало дерева, но безуспешно.
Почему я не могу запросить несколько элементов из моего дерева XElement?
Спасибо!
Drew