У меня есть следующий образец XML:
<?xml version="1.0" encoding="utf-8" ?>
<queryableData>
<table displayName="Shipments" dbName="Quotes">
<foreignKey column="CustomerId" references="CustomerRegistration"/>
<foreignKey column="QuoteStatusId" references="QuoteStatus"/>
<fields>
<field displayName="Quote Charge" dbColumn="QuoteCharge" type="Number"/>
<field displayName="Total Weight" dbColumn="TotalWeight" type="Number"/>
</fields>
</table>
</queryableData>
и я пытаюсь создать анонимный объект с содержимым узла field
. Вот мой код LINQ:
XElement root = XElement.Load("queryable.xml");
var elem = from el in root.Elements("table")
select new
{
DisplayName = el.Attribute("displayName").Value,
Column = el.Attribute("dbColumn").Value,
DataType = el.Attribute("type").Value
};
Если я только укажу атрибут «DisplayName», он будет работать нормально. Два других всегда равны нулю, и поэтому попытка прочитать свойство Value вызывает исключение NullReferenceException.
Как правильно получить все три атрибута, которые мне нужны, от элемента? Я думаю, что я на правильном пути, но что-то упустил в запросе (мне кажется, что el
не весь элемент)
РЕДАКТИРОВАТЬ: Неважно, я идиот. Я смотрю на один элемент и запрашиваю другой!