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?如果是这样,那是什么?