我前段時間在VB.Net中編寫了一些代碼,使用XElement,XDocument等來存儲和操作HTML。某些HTML使用包含連字符/短劃線( - )的屬性名稱。我遇到了使用LinqToXml通過這些屬性搜索XElements的問題。搜索屬性名稱包含連字符/破折號的XElement
那時候我發現了一篇文章(現在不能找到它)是表示在VB.net的解決方案是使用的語法如下:
Dim rootElement as XElement = GetARootXElement()
Dim query = From p In rootElement.<div> Where [email protected]<data-qid> = 5 Select p
「神奇」的語法是@ <>它以某種方式將連字符的屬性名稱轉換成可以被Linq成功使用的格式。這段代碼在VB.Net中很好用。
問題是,我們現在已經將所有VB.Net代碼轉換爲C#,並且轉換實用程序在此語法上被阻塞。在VB.Net中我找不到任何關於這個「魔術」語法的東西,所以我希望有人能夠填寫我的細節,特別是C#的等價物。謝謝。
下面是一個例子:
<div id='stuff'>
<div id='stuff2'>
<div id='stuff' data-qid=5>
<!-- more html -->
</div>
</div>
</div>
在我的代碼的rootElement的上面將是東西的div和我會希望搜索與attribuate數據QID = 5的內格。
你可以提供你正試圖解析的示例xml嗎? –
我在原帖中添加了一個示例。 –
data-qid屬性值沒有引號嗎?你試圖分析什麼價值? –