将 xml:space 添加到根元素
Adding xml:space to root element
我有一个我认为很简单的小问题......但是唉......
我有一些 xml,我想做的就是使用 c# 将 xml:space="preserve"
添加到根元素。
我试过这个:
var rootElem = xDoc.Root; // XDocument
rootElem.SetAttributeValue("{xml}space", "preserve");
结果是:
<ProjectDetails xmlns="http://site/ppm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" p3:space="preserve" xmlns:p3="xml">
我认为这相当于
<ProjectDetails xmlns="http://site/ppm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:space="preserve">
但是由于xml:space
是一个特殊的属性,我有点怀疑。
所以:
它们相同吗?
有什么方法可以 "clean" 将其添加到文档中吗?
您只需要正确的 XName
值 - 我会使用这个:
doc.Root.SetAttributeValue(XNamespace.Xml + "space", "preserve");
根据我的经验,XName +(XNamespace, string)
运算符通常是在 LINQ to XML 中使用名称空间的最简单方法。
我有一个我认为很简单的小问题......但是唉......
我有一些 xml,我想做的就是使用 c# 将 xml:space="preserve"
添加到根元素。
我试过这个:
var rootElem = xDoc.Root; // XDocument
rootElem.SetAttributeValue("{xml}space", "preserve");
结果是:
<ProjectDetails xmlns="http://site/ppm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" p3:space="preserve" xmlns:p3="xml">
我认为这相当于
<ProjectDetails xmlns="http://site/ppm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:space="preserve">
但是由于xml:space
是一个特殊的属性,我有点怀疑。
所以:
它们相同吗?
有什么方法可以 "clean" 将其添加到文档中吗?
您只需要正确的 XName
值 - 我会使用这个:
doc.Root.SetAttributeValue(XNamespace.Xml + "space", "preserve");
根据我的经验,XName +(XNamespace, string)
运算符通常是在 LINQ to XML 中使用名称空间的最简单方法。