我有各种类需要写入XML以便分发给客户端系统。
我知道在c#中转换类的明显方法是序列化。理想情况下我会这样做 - 但是我的老板要我使用某种模板系统。
所以我会有一个模板(基本示例),如下所示,并根据需要替换标签。
<Advert>
<Title>{Title}</Title>
<Description>{Description}</Description>
[etc etc etc etc]
</Advert>
我真的不想这样做,但这就是生活:)有没有人对如何做到这一点有很好的建议?图书馆等?希望有一些更强大的功能,然后字符串替换(等) - 但感觉它是可能的方式!
编辑:
我应该说的是,我们的想法是能够在不必重建应用程序的情况下调整XML模板。
答案 0 :(得分:2)
我会这样做
var parameters = new Dictionary<string, string>
{
{"Title", "Hello"},
{"Description", "Descr1"}
};
string xml = "<Advert><Title>{Title}</Title><Description>{Description}</Description></Advert>";
var replaced = Regex.Replace(xml, @"\{(.+?)\}", m => parameters[m.Groups[1].Value]);
答案 1 :(得分:0)
看看XDocument。如果我正确地读你的问题,你可以这样做:
// Set these however you want
string title = "{Title}"
string description = "{Description}"
XDocument xml = new XDocument(
new XElement("Advert",
new XElement("Title", title),
new XElement("Description", description)
... ));