Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为Sandcastle文件设置XML属性_C#_Xml_Sandcastle - Fatal编程技术网

C# 为Sandcastle文件设置XML属性

C# 为Sandcastle文件设置XML属性,c#,xml,sandcastle,C#,Xml,Sandcastle,我有一个Sandcastle项目,为我处理一些文档。我在代码中完成了一些构建文件的过程 尽管如此,我想创建一个链接,将导航到另一个页面 C#代码 XmlElement link = document.CreateElement("link"); link.SetAttribute("xlink:href", mapGuid.ToString()); 这将创建元素,然后设置属性。结果如下: <link href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3"

我有一个Sandcastle项目,为我处理一些文档。我在代码中完成了一些构建文件的过程

尽管如此,我想创建一个链接,将导航到另一个页面

C#代码

XmlElement link = document.CreateElement("link");
link.SetAttribute("xlink:href", mapGuid.ToString());
这将创建元素,然后设置属性。结果如下:

<link href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3" xmlns="" />

但它应该是这样的

<link xlink:href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3" xmlns="" />
XElement link = new XElement("link");
            XNamespace ns = link.Name.Namespace;
            link.Add(new XAttribute(ns + "href", "10e3ca23-4b79-42f3-b89c-e6fe924ceef3"));

第一个链接不起作用,但当我在href前面添加xlink:时,它就起作用了

我的问题是如何解决这个问题


提前感谢

我通常使用XML Linq,并像这样从父级获取名称空间

<link xlink:href="10e3ca23-4b79-42f3-b89c-e6fe924ceef3" xmlns="" />
XElement link = new XElement("link");
            XNamespace ns = link.Name.Namespace;
            link.Add(new XAttribute(ns + "href", "10e3ca23-4b79-42f3-b89c-e6fe924ceef3"));

为什么需要获取名称空间?xmlns是名称空间。