将命名空间添加到xml根节点c#

我有一个xml,我想添加

xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”xsi:noNamespaceSchemaLocation =“../../../../ test / Schemas / test.xsd”

以编程方式在c#中使用xml根元素,以便xml如下所示 .

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="../../../../test/Schemas/test.xsd" >
<value></value>
.
.

<root>

我尝试了什么

doc.DocumentElement.SetAttribute(“xmlns:xsi”,“http://www.w3.org/2001/XMLSchema-instance”); doc.DocumentElement.SetAttribute( “的xsi:noNamespaceSchemaLocation =” ../../../../测试/架构/ test.xsd“);

回答(1)

2 years ago

一种可能的解决方案是使用CreateAttribute方法创建xsi属性,然后将此属性添加到根元素,如:

XmlAttribute xsiAttr = doc.CreateAttribute("xsi", "noNamespaceSchemaLocation", "http://www.w3.org/2001/XMLSchema-instance");
xsiAttr.Value = "../../../../test/Schemas/test.xsd";
doc.DocumentElement.Attributes.Append(xsiAttr);