我正在尝试设置以下属性,但它们没有正确完成。
我希望我的xml看起来像这样:
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
但它显示如下:
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="amzn-envelope.xsd">
我的版本的noNamespaceSchemaLocation属性没有xsi。
编写xml的C#代码
var xmldoc = new XmlDocument();
var amazonEnvelope = xmldoc.CreateElement("AmazonEnvelope");
amazonEnvelope.SetAttribute("xsi:noNamespaceSchemaLocation", "amzn-envelope.xsd");
amazonEnvelope.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
xmldoc.AppendChild(amazonEnvelope);
答案 0 :(得分:1)
如果您的.NET框架版本&gt; 3.0 或者您可以使用XDocument
代替XmlDocument
命名空间
using System.Xml.Linq;
代码
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XDocument doc = new XDocument(
new XElement("AmazonEnvelope",
new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
new XAttribute(xsi + "noNamespaceSchemaLocation", "amzn-envelope.xsd")
)
);