只是一個快速檢查真的。Linq到XML搜索
我有一個XML文件,我將使用Linq來搜索XML。我唯一的問題是,我的用戶將提供的XML可以使用長代碼標籤或短代碼標籤,例如
<FromPerson>Joe Bloggs</FromPerson>
- 隆典
OR
<m175>Joe Bloggs</m175>
- 短代碼
這裏是我的代碼片段展示瞭如何我目前正在搜索的文檔(目前只使用長碼搜索):
prod.ProductID = product.Elements("ProductIdentifier").First(t => (t.Element("ProductIDType").Value == "45" || t.Element("ProductIDType").Value == "21")).Element("IDValue").Value;
因此,元素'ProductIdentifier'可以是'b221'或'b221'。
只是簡單地將IF語句用於評估XML標記是長代碼還是短代碼,然後獲取值OR是否存在更快速,更高效的方法?
有寫,如果條件只在我看來沒有備用它 – Deepesh
@Deepesh是啊,我想 一樣。我只是想檢查一下沒有更好的方法來做到這一點。 – 109221793
當一個人短,或者他們可以混合在同一個xml中時,所有的標籤都是短的嗎?如果他們不能混合使用,那麼ShortTags字典和longTags字典(shortTag是關鍵)如何呢?您檢查xml中是否使用了longTags或shortTags,選擇了良好的Dic,代碼可以像'product.Elements(selectedDictionary [「b221」])' –