[英]Is it possible to make LINQ To XML dynamic?
动态可能不是此处最佳的用法,但我将举一个例子说明我的意思:
我有一些XML格式的配置文件,我需要访问这些配置文件的某些元素。 现在,在代码中,我正在做类似的事情:
string serverName = elements.Element("Server").Value;
如果Server
仍然是elements
的子元素,那么上面的内容就很好,但是如果它移动了,我将不得不修改代码。 我想到的一种解决方案是使用在运行时加载的某些文件中定义的XPATH
表达式,如果我要查找的元素或属性发生了更改,则无需更改代码,只需更改XPATH
表达式。 这是可行的方法还是对此有其他解决方案?
您可以使用Descendants在树中找到任何元素“ Server”元素。 但是,在Xml更改时更改代码可能不是一件坏事-至少您知道自己在阅读什么。 如果使用Descendands,则无论更改是否是有意的,您都将读取值,这意味着您读取的任何Xml文档中都恰好包含“ Server”元素,这意味着您接受的Xml文件不必遵循任何结构/ definitione(除非您具有xsd来强制执行它)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.