我正在尝试创建以下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>
我有以下代码(刚刚开始):
XElement _obj = new XElement("?xml",
new XAttribute("version", "1.0"),
new XAttribute("encoding", "UTF-8")
);
我得到的错误是:
名称不能以'?'开头字符,十六进制值0x3F。
我不熟悉使用C#中的LINQ创建XML,并且只是想知道我是否正确地使用它...如何创建我想要创建的XML文档?
答案 0 :(得分:3)
您好像在寻找XDeclaration
。这些是自动插入的,因此您无需担心它们。如果你确实需要它:
XDeclaration _obj = new XDeclaration("1.0", "utf-8", "");
答案 1 :(得分:1)
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");
应该执行并编写XML声明<?xml version="1.0" encoding="UTF-8"?>
,而无需明确创建它。