C# 用LINQ在C中创建XML#

C# 用LINQ在C中创建XML#,c#,xml,linq,linq-to-xml,salesforce,C#,Xml,Linq,Linq To Xml,Salesforce,我正在尝试创建以下XML文档: <?xml version="1.0" encoding="UTF-8"?> <jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload"> <operation>insert</operation> <object>Contact</object> <contentType>CSV</contentType&

我正在尝试创建以下XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload">
<operation>insert</operation>
<object>Contact</object>
<contentType>CSV</contentType>
</jobInfo>
我得到的错误是:

名称不能以“?”字符开头,十六进制值为0x3F


我刚开始用C#中的LINQ创建XML,我只是想知道我的方法是否正确。。。如何创建我正在尝试创建的XML文档?

您似乎正在寻找一个新的XML文档。这些都是自动插入的,因此您无需担心它们。如果您确实需要它:

XDeclaration _obj = new XDeclaration("1.0", "utf-8", "");

你好像在找一个新的工作。这些都是自动插入的,因此您无需担心它们。如果您确实需要它:

XDeclaration _obj = new XDeclaration("1.0", "utf-8", "");
应该执行并编写XML声明
,而无需显式创建它


应该做并编写一个XML声明
,而不需要显式地创建它。

在这个上下文中什么是
df
?对不起,XML使用了一个名称空间,我想向您展示如何使用C#和LINQ to XML创建/使用它。我用名称
dl
声明变量,然后错误地使用名称
df
。现在更正。谢谢,但这会输出除第一行之外的所有内容。我怎样才能到达那里的第一条线?(当我使用
Console.WriteLine(jobInfo);
时,当您使用
Save
方法时,会添加XML声明,如我所示。如果您仅将
ToString
用作
Console.WriteLine(jobInfo)
就可以了,那么对于XElement,您不会得到XML声明。如果您真的认为要显式创建一个,那么请查看另一个答案,并使用
XDocument doc=new XDocument(new XDeclaration(“1.0”、“UTF-8”、null)、new XElement(dl+“jobInfo”…(此处与答案相同))
在此上下文中什么是
df
?很抱歉,XML使用名称空间,我想向您展示如何使用C#和LINQ to XML创建/使用名称空间。我用名称
dl
声明变量,然后错误地使用名称
df
。现在更正。谢谢,但这会输出除第一行之外的所有内容。我怎样才能到达那里的第一条线?(当我使用
Console.WriteLine(jobInfo);
时,当您使用
Save
方法时,会添加XML声明,如我所示。如果您仅将
ToString
用作
Console.WriteLine(jobInfo)
就可以了,那么对于XElement,您不会得到XML声明。如果您真的认为要显式创建一个,那么请查看另一个答案,并使用
XDocument doc=new XDocument(new XDeclaration(“1.0”、“UTF-8”、null)、new XElement(dl+“jobInfo”…(此处与答案相同))如何将其与现有代码一起使用?例如,我正在使用上面的Martin Honnen代码。我如何在那里包含XDeclaration?@user您只需要在第一个XElement构造函数中包含它。我如何在现有代码中使用它?例如,我正在使用上面的Martin Honnen代码。我如何在那里包含XDeclaration?@user您只需要在第一个XElement构造函数中包含它。
XNamespace dl = "http://www.force.com/2009/06/asyncapi/dataload";
XElement jobInfo = new XElement(dl + "jobInfo",
  new XElement(dl + "operation", "insert"),
  new XElement(dl + "object", "Contact"),
  new XElement(dl + "contentType", "CSV")
);

jobInfo.Save("info.xml");