XMLDocument:读取XDocument并将内容放入其他XDocument(LINQ)(C#)

时间:2016-09-14 17:26:37

标签: c# xml linq xmldocument

使用LinQ,我在XDocument machine2.config

中有以下内容
<appSettings>
<add key="FreitRaterHelpLoc" value="" />
<add key="FreitRaterWebHome" value="http://GPGBYTOPSPL12/" />
<add key="FreitRaterDefaultSession" value="" />
<add key="FreitRaterTransferMode" value="Buffered" />
<add key="FreitRaterMaxMsgSize" value="524288" />
<add key="FreitRaterMaxArray" value="16384" />
<add key="FreitRaterMaxString" value="32768" />
<add key="FreitRaterSvcTimeout" value="60" />
</appSettings>

我需要在XDocument machine.config

中的特定位置获取它

我首先手动硬编码了元素,并且XPathSelectElement()。AddAfterSelf()工作得非常好,可以将xml块放到我想要的地方。但是我需要让它从文件中读取,以便可以通过快速编辑文档来更改它。 现在,使用此代码

XDocument doc = XDocument.Load("machine.config");

XDocument AppSettings = XDocument.Load("machine2.config");
string content = AppSettings.ToString();

doc.XPathSelectElement("configuration/configSections").AddAfterSelf(content); //need it to insert after </configSections>

我能够添加它,但它不能以正确的格式复制。而是在machine.config中我得到了

</configSections>&lt;appSettings&gt;&lt;add key="FreitRaterHelpLoc" //etc

什么时候应该

</configSections>
<appSettings>
...

无论如何,我很丢失,所以如果有人知道如何以正确的格式从一个文件到另一个文件,我会非常感激。

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

In [77]: import numpy.lib.recfunctions as rf
In [78]: rf.zip_descr([np.zeros((0,),dtype=A),np.zeros((0,),dtype=B)])
Out[78]: [('a', '<i4'), ('b', '<f8')]
In [81]: rf.zip_descr([np.array((0,),dtype=A),np.array((0,),dtype=B)])
Out[81]: [('a', '<i4'), ('b', '<f8')]