У меня есть строка XML, которая выглядит следующим образом:
<Attributes>
<ProductAttribute id="1">
<ProductAttributeValue>
<Value>a</Value>
</ProductAttributeValue>
</ProductAttribute>
<ProductAttribute id="2">
<ProductAttributeValue>
<Value>a</Value>
</ProductAttributeValue>
<ProductAttributeValue>
<Value>b</Value>
</ProductAttributeValue>
</ProductAttribute>
</Attributes>
Я хотел бы вернуть IEnumerable вот так:
Id Value
1 a
2 a b
Я пробовал это и получил только "b "значение для идентификатора" 2 ":
XElement e = XElement.Parse(xmlString);
var q = from pa in e.Elements("ProductAttribute")
from pav in pa.Elements("ProductAttributeValue").Elements("Value")
select new
{
Id = (int)pa.Attribute("id"),
Value = (string)pav
};
Я пробовал это:
XElement e = XElement.Parse(xmlString);
var q = from pa in e.Elements("ProductAttribute")
select new
{
Id = (int)pa.Attribute("id"),
Value = pa.Elements("ProductAttributeValue").Elements("Value")
};
Но не смог преобразовать значение в виде строки.При использовании LINQPad вывод был таким:
Id Value
1 a
2 <Value>a</Value>
<Value>b</Value>
Я пытаюсь просто вернуть значения.Это вообще возможно?
Спасибо.