我有XDocument
類型的customUIXml
對象,它具有以下XML的值:不能按屬性值和的XDocument
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab id="t1" label="Shalala">
<!-- stuff -->
</tab>
<tab id="tab_dev" label="SomeOtherTab">
<!-- stuff -->
</tab>
<tab id="t108" label="MyTab">
<!-- stuff -->
</tab>
</tabs>
</ribbon>
</customUI>
,我想要得到的tab
節點與標籤值「MYTAB」 。這是我使用的代碼:
Dim xtab As XElement = Nothing
Dim nodes = From nodeToTake In customUIXml.Descendants().Elements("tab") _
Where nodeToTake.Attribute("label").Value = "MyTab"
Select nodeToTake
For Each tab As XElement In nodes
xtab = tab
Next
但我得到任何結果,我似乎無法找到我在做什麼錯?
用文字給了我異常'序列中沒有匹配element' ......我檢查XML和節點是有....另外,你認爲問題與使用linq-to-xml可能與命名空間連接? – Syspect
@Syspect如果你的XML有一個名字空間,你必須考慮到這一點。正如我的答案所示,您在問題中所發佈的xml在您的代碼中工作得很好。因此,如果您的實際XML不同(例如使用命名空間),則應更新您的問題以包含該問題。 – sloth
@Syspect查看我的關於如何將名稱空間添加到查詢中的更新 – sloth