繁体   English   中英

是否可以使LINQ To XML动态化?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM