1
在我正在開發的一個項目中,我剛完成爲我的XML編寫XSD,以便其他工程師可以更輕鬆地處理XML。隨着這個XSD來了XML命名空間。在我目前的解析代碼,我一直在使用這樣的事情:在命名空間中解析XElements的優雅解決方案
XElement element = xmlRoot.Element(XML.ELEMENT_NAME);
隨着XML是一個完整的類是整個程序用於XML輸入和輸出的常量。但是,現在正在使用這些命名空間,這已經不再適用了。最明顯的,但幾乎沒有優雅的,解決辦法是進入並讓所有的解析代碼看起來像這樣的:
XElement element = xmlRoot.Element(XML.NAMESPACE + XML.ELEMENT_NAME);
更多關於它的思考,它看起來好了很多,走下車,並定義一個擴展方法添加此名稱空間並返回XElement。這種想法會得到的代碼看起來像這樣:
XElement element = xmlRoot.GetMyElement(XML.ELEMENT_NAME);
這些想法是什麼,我都拿出了迄今爲止對付命名空間的問題。 基本上,我的問題是這樣的:
是否有更好的方法來解析具有已知常量名稱空間的XElements?如果是這樣,那是什麼?