我的列表中的数据如下所示。
List<APIConfigValue>
现在我必须生成如下的XML文件。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ScanTime.Web" value="11D_SVC1" />
<add key="eTime.Punch" value="true" />
<add key="DataMartUrl" value="syscontrol" />
</appSettings>
</configuration>
根据列表中的记录数,它应该自动生成。 我正在尝试使用xml linq库。
这就是我的开始......
XDocument doc = new XDocument(
new XElement("configuration",
new XElement("appSettings",
new XElement("add", new XAttribute("key", "APP.Web"), new XAttribute("value", "true"))
)
)
);
我被困在如何从这里的列表中循环。我试着找文章。但没有关系。 感谢您的时间和回应。
答案 0 :(得分:1)
我将假设每个APIConfigValue
都有两个属性:key
和value
。
List<APIConfigValue> data = foo;
XDocument doc = new XDocument(
new XElement("configuration",
new XElement("appSettings",
data.Select((conf) => new XElement("add", new XAttribute("key", conf.key), new XAttribute("value", conf.value)).ToArray()
)
)
);
这样做会将每个APIConfigValue
映射到具有两个属性的XElement
:key
的{{1}}和value
。
但是,如果您计划导出和导入此XML格式,我建议您查看XMLSerializer
类。
答案 1 :(得分:0)
假设您已相应地填充了您的列表:
List<APIConfigValue> yourList = //assign your list here;
foreach (APIConfigValue apiConfigItem in yourList)
{
//write out your nodes from the list here using apiConfigItem
}