2012-10-25 52 views
0

我想构造一个长xml字符串,它的一些实体来自另一个由dll读取的xml文件。最后,我想通过XElement.Save()将此xml字符串保存到文件中。它不能将字符串保存到文件中。为什么XElement无法将我的xml文件保存到文件中?

例如:

XElement root = new XElement("Root"); 
// ..... 
root.Save(filename); // <-- wrong! 

但是,如果我不使用DLL,一切都很好。即使我只是打电话给DLL,别的什么都不做,它不适合我。有谁能够帮助我?由于

+2

什么实际上*发生*? “它不能将字符串保存到文件中”不是对问题的一种很好的描述,也不是代码中的“错误”给我们提供任何信息。 –

+0

它工作正常,但没有按照指示保存字符串。没有错误信息或我可以检查的其他内容。只要我触摸程序中的dll,我就不能保存字符串。 – user1189507

+0

文件名是相对的,还是绝对的?它是一个可能在程序的其他地方使用过的文件吗?你有任何可能隐藏错误的异常处理吗? –

回答

2

以追加节点到现有的XML文件: 从一开始,

1)创建一个Root.xml file

<?xml version="1.0" encoding="utf-8"?> 
<Main> 
</Main> 

2)使用此代码Load and Append节点:

XElement xml = new XElement("Root"); 

XDocument xdoc = XDocument.Load("Root.xml"); 
xdoc.Element("Main").Nodes().Last().AddAfterSelf(xml); //append after the last backup element 
xdoc.Save("Root.xml"); 
+0

我认为它可能与xml格式无关。xml字符串由2部分组成:一个来自我的程序,另一个来自dll。它不保存字符串,即使我尝试保存自己的xml字符串。这很奇怪。 – user1189507

相关问题