C# 更改XML的格式
我有以下Xml:C# 更改XML的格式,c#,xml,xmldocument,xslt,C#,Xml,Xmldocument,Xslt,我有以下Xml: <Root> <Username> <string>Fred</string> <string>John</string> </Username> </Root> 弗莱德 约翰 我需要的是如下格式的Xml: <Root> <Username>Fred</Username> <Username&g
<Root>
<Username>
<string>Fred</string>
<string>John</string>
</Username>
</Root>
弗莱德
约翰
我需要的是如下格式的Xml:
<Root>
<Username>Fred</Username>
<Username>John</Username>
</Root>
弗莱德
约翰
有没有办法做到这一点?将此设置在您的财产之上: [XmlArray(“用户名”)]Linq到XML:
using System.Linq;
using System.Xml.Linq;
var indoc = XDocument.Load("c:\\test.xml");
var outdoc = new XDocument(
new XElement("Root",
indoc.Descendants("Root")
.Descendants("Username")
.Elements()
.Select(n => n.Value)
.Select(i => new XElement("Username", i))));
// TODO: Save doc using doc.WriteTo(xmlWriter) to the file
您想创建格式不正确的xml吗?当然,是的,您可以这样做……您的第二个xml已经存在。我猜你不想在那里。对不起,我更新了,错误的复制粘贴…我需要在c#中执行,我收到第一种格式的文件,但我的代码只处理第二种格式的代码…我怀疑他在使用序列化,因为通过序列化你会得到那些块。用任何其他方法(至少我知道),他应该能够选择他想要的名字。他说他收到了一个文件,所以我不这么认为。