0

我将 xml 模板存储在要填充的值的文件中,如下所示

<customers>
  <customer>
  <name><%=user.name%></name>
  <street><%=user.address.street%></street>
  </customer>
</customers>

我将填写用户对象并将此 xml 加载到字符串中。有没有什么简单的方法可以轻松替换整个文件中的相关值?请考虑以上只是示例,XML 真的很复杂,其中有很多常量,我不能使用 XML 序列化将对象转换为 XML。

谢谢

4

2 回答 2

1

一个简单的正则表达式可以在这里提供帮助

var newXml = Regex.Replace(xml, "<%=(.+?)%>", m => MyFxn(m.Groups[1].Value));

//replace this function with yours which returns the real values. It's
//just a demo.... 
string MyFxn(string s)
{
    var dict = new Dictionary<string, string>(){
        {"user.name","name1"},
        {"user.address.street","street1"}
    };

    return dict[s];
}
于 2013-08-03T19:44:11.073 回答
0

使用正则表达式查找您的数据绑定表达式,并将它们替换为使用DataBinder.Eval(在 ASP.NET 中)或通过对象相应属性的反射获得的值(http://programmersunlimited.wordpress.com/2010/06/19/reflection-从路径/获取属性值)。

于 2013-08-04T08:48:30.170 回答