在C#中创建XML亚马逊信封

时间:2014-12-04 10:32:13

标签: c# xml

我尝试为亚马逊的Feed创建必要的XML文件,但在创建AmazonEnvelope时遇到错误

             XElement _POST_PRODUCT_DATA_ = new XElement(@"AmazonEnvelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance\"" xsi:noNamespaceSchemaLocation=""amzn-envelope.xsd""");
            _POST_PRODUCT_DATA_.Save("D:\\_POST_PRODUCT_DATA_.xml");

错误说:

 +      $exception  {"The ' ' character, hexadecimal value 0x20, cannot be included in a name."}    System.Exception {System.Xml.XmlException}

问题是,必须有空间。有人有解决方案吗?

1 个答案:

答案 0 :(得分:3)

使用对象模型代替"纯文本中的所有内容"方法

XNamespace ns = "http://www.w3.org/2001/XMLSchema-instance";
var elm = new XElement("AmazonEnvelope",
                       new XAttribute(XNamespace.Xmlns + "xsi", ns),
                       new XAttribute(ns + "noNamespaceSchemaLocation", "amzn-envelope.xsd"));