gpt4 book ai didi

c# - 如何创建 XML 字符串而不是使用字符串生成器?

转载 作者:数据小太阳 更新时间:2023-10-29 01:59:36 32 4
gpt4 key购买 nike

我正在使用下面的代码(针对此示例进行了简化)将数据发布到 SharePoint 列表

StringBuilder customerDoc = new StringBuilder();

customerDoc.Append("<Method ID='1' Cmd='New'>");
customerDoc.Append("<Field Name='Name'>" + Name + "</Field>");
customerDoc.Append("<Field Name='Age'>" + age + "</Field>");
customerDoc.Append("<Field Name='City'>" + city + "</Field>");
customerDoc.Append("<Field Name='Country'>" + country + "</Field>");

customerDoc.Append("</Method>");

XmlDocument xDoc = new XmlDocument();
XmlElement xBatch = xDoc.CreateElement("Batch");
xBatch.SetAttribute("OnError", "Continue");

xBatch.InnerXml = sb_method.ToString();

XmlNode xn_return = sharePoint.listsObj.UpdateListItems(ConfigurationManager.AppSettings["SaveCustomer"].ToString(), xBatch);

如您所见,我使用的 stringbuilder 并不理想,所以我想知道我应该使用什么来创建 XML 字符串?

提前致谢。

最佳答案

您可以使用 Linq to XML,请检查类似:http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx .

例如,这段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Dynamic;
using System.Xml.Linq;

namespace Test
{
class Program
{
static void Main(string[] args)
{
String name = "Morten";
Int32 age = 30;
String city = "Copenhagen";
String country = "Denmark";

XElement xml = new XElement("Method",
new XAttribute("ID", 1),
new XAttribute("Cmd", "New"),
new XElement("Field",
new XAttribute("Name", "Name"),
name),
new XElement("Field",
new XAttribute("Name", "Age"),
age),
new XElement("Field",
new XAttribute("Name", "City"),
city),
new XElement("Field",
new XAttribute("Name", "Country"),
country)
);

Console.WriteLine(xml);
Console.ReadKey();
}
}
}

将输出:

<Method ID="1" Cmd="New">
<Field Name="Name">Morten</Field>
<Field Name="Age">30</Field>
<Field Name="City">Copenhagen</Field>
<Field Name="Country">Denmark</Field>
</Method>

关于c# - 如何创建 XML 字符串而不是使用字符串生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469368/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com