我的 C# 应用程序具有将对象列表 ( inputList
) 作为参数的方法,它使用 TextWriter 和 XMLWriter 以及下面的代码创建一个 XML 字符串,然后提交给 Web 服务。
using (TextWriter writer = new Utf8StringWriter())
{
using (XmlWriter xw = XmlWriter.Create(writer, settings))
{
xw.WriteStartElement("submission");
xw.WriteElementString("version", XMLversion);
xw.WriteElementString("user", USER_NAME);
foreach (var obj in inputList)
{
xw.WriteStartElement("node");
xw.WriteElementString("data1", obj.data1.ToString());
xw.WriteElementString("data2", obj.data2.ToString());
xw.WriteElementString("data3", obj.data3.ToString());
xw.WriteElementString("data4", obj.data4.ToString());
xw.WriteEndElement();
}
}
xmlFile = writer.ToString();
}
记录列表中每个项目的提交的要求之一。所以我想知道是否有更有效的方法在foreach
循环中创建 XML 节点的字符串?
之后我考虑过将 XMLReader 与字符串一起使用,但这是一个全新的过程,虽然我知道我可以手动创建它,并且很高兴这样做,但我愿意接受其他建议。本质上,我正在寻找一种有效的技术来生成如下所示的字符串:
<node>
<data1>obj.data1.ToString()</data1>
<data2>obj.data2.ToString()</data2>
<data3>obj.data3.ToString()</data3>
<data4>obj.data4.ToString()</data4>
</node>