将命名空间添加到 xml 根节点 c#
Posted
技术标签:
【中文标题】将命名空间添加到 xml 根节点 c#【英文标题】:Add Namespace to an xml root node c# 【发布时间】:2016-07-08 21:17:50 【问题描述】:我有一个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/Schemas/test.xsd");
【问题讨论】:
This 可能有助于解释。 【参考方案1】:一种可能的解决方案是使用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);
【讨论】:
以上是关于将命名空间添加到 xml 根节点 c#的主要内容,如果未能解决你的问题,请参考以下文章