ConfigurationElementCollection对象可以为其元素包含另一个ConfigurationElementCollection对象吗?
我有这个xml,其中testsection是section root:
<testsection>
<head>
<metaData>
<metaGroup id="general">
<meta name="Content-type" content="text/html; charset=utf-8" type="http-equiv" />
</metaGroup>
<metaGroup id="default">
<meta name="something" content="test" type="name" />
</metaGroup>
</metaData>
</head>
</testsection>
是否可以使用可读取xml以上的ConfigurationSection,ConfigurationElement和ConfigurationElementCollection创建类?
问题在于,当我们实现ConfigurationElementCollection时,我们无法定义集合中的元素属于另一个ConfigurationElementCollection类型。
如果配置部分是这样的(没有metaGroup元素),我可以使它工作:
<testsection>
<head>
<metaData>
<meta name="Content-type" content="text/html; charset=utf-8" type="http-equiv" />
<meta name="something" content="test" type="name" />
</metaData>
</head>
</testsection>
答案 0 :(得分:1)
我认为只有ConfigurationElement对象可以包含ConfigurationElementCollection对象(ConfigurationElementCollection必须具有其父ConfigurationElement)。所以我认为如果metaGroup是ConfigurationElement并且我添加了一个新的ConfigurationElementCollection(metaGroupCollection)作为meta ConfigurationElement的父代,我可以解决这个问题。
<testsection>
<head>
<metaData>
<metaGroup id="general">
<metaGroupCollection>
<meta name="Content-type" content="text/html; charset=utf-8" type="http-equiv" />
</metaGroupCollection>
</metaGroup>
<metaGroup id="default">
<metaGroupCollection>
<meta name="something" content="test" type="name" />
</metaGroupCollection>
</metaGroup>
</metaData>
</head>
</testsection>