0
我有下面的示例XML:用LINQ選擇多個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
不是整個元素)
編輯:沒關係,我是個白癡。我正在查看一個元素並查詢其他元素!