1

动态可能不是这里这个词的最佳用法,但我将举一个例子来说明我的意思:

我有一些 XML 格式的配置文件,我需要访问这些配置文件的某些元素。现在,在代码中,我正在做类似的事情:

string serverName = elements.Element("Server").Value;

Server如果仍然作为 的子元素,上述一切都很好elements,但如果它移动,我将不得不修改代码。我想到的一种解决方案是使用XPATH在运行时加载的某个文件中定义的表达式,如果我要查找的元素或属性发生更改,我不必更改代码,我只需要更改XPATH表达式。这是一种可行的方法还是有另一种解决方案?

4

1 回答 1

1

您可以使用 Descendants 在树中查找任何元素“服务器”元素。然而,当 Xml 更改时更改代码可能不是一件坏事——至少你知道你在读什么。如果您使用 Descendands,则无论更改是有意还是无意,您都将读取该值,这意味着您读取了其中恰好包含“Server”元素的任何 Xml 文档,这意味着您接受的 Xml 文件不必遵守任何结构/definitione(除非您有 xsd 强制执行)

于 2012-10-02T02:08:41.147 回答