好的,我的现有XML文档名为'acme.xml'。
我想打开XML文档并将以下命名空间添加到顶部。
<ABC xmlns="http://www.acme.com/ABC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" fileName="acmeth.xml" date="2011-09-16T10:43:54.91+01:00" origin="TEST" ref="XX_88888">
据我所知,我将使用以下代码添加上述命名空间
DateTimeOffset date = new DateTimeOffset(2011, 9, 16, 10, 43, 54, 91, TimeSpan.FromHours(1));
XDocument doc = new XDocument(new XElement(ns + "ABC", new XAttribute("xmlns", ns.NamespaceName), new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"), new XAttribute("filename", "acmeth.xml"), new XAttribute("date", date), new XAttribute("origin", "TEST"), new XAttribute("ref", "XX_8888")));
doc.WriteTo(writer);
我也明白我需要声明一个XmlWriter类的新实例并将其设置为我已经创建的Xml文档,然后我想打开这个文档,将我的命名空间添加到顶部而不触及任何其他内容,然后关闭文件。
我不太确定的是我如何解决这个问题。
问题是我已经编写了代码来使用旧的XmlWriter类动态创建相当冗长的XML文档,并且它运行良好。但他们希望这个命名空间位于顶部,我试图避免再次创建整个文件。
提前致谢