C# 为Sandcastle文件设置XML属性
我有一个Sandcastle项目,为我处理一些文档。我在代码中完成了一些构建文件的过程 尽管如此,我想创建一个链接,将导航到另一个页面 C#代码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"
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是名称空间。