gpt4 book ai didi

c# - 如何根据节点将 XML 文件拆分为多个 XML 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:15:22 25 4
gpt4 key购买 nike

我有一个 XML 文件如下

<?xml version="1.0>
<EMR>
<CustomTextBox>
<Text>WNL</Text>
<Type>TextBox</Type>
<Width>500</Width>
<id>txt1</id>
</CustomTextBox>

<CustomTextBox>
<Text>WNL</Text>
<Type>TextBox</Type>
<Width>500</Width>
<id>txt2</id>
</CustomTextBox>

<AllControlsCount>
<Width>0</Width>
<id>ControlsID</id>
</AllControlsCount>
</EMR>

我想将 xml 文件拆分为三个。根据其节点

文件 1:

<?xml version="1.0>
<CustomTextBox>
<Text>WNL</Text>
<Type>TextBox</Type>
<Width>500</Width>
<id>txt1</id>
</CustomTextBox>

文件 2:

<?xml version="1.0>
<CustomTextBox>
<Text>WNL</Text>
<Type>TextBox</Type>
<Width>500</Width>
<id>txt2</id>
</CustomTextBox>

文件 3:

<?xml version="1.0>
<AllControlsCount>
<Width>0</Width>
<id>ControlsID</id>
</AllControlsCount>

节点也是动态的,它们可能会改变。如何根据节点将此 xml 文件拆分为多个。如果有人知道请分享。

最佳答案

尝试LinqToXml:

var xDoc = XDocument.Parse(Resource1.XMLFile1); // loading source xml
var xmls = xDoc.Root.Elements().ToArray(); // split into elements

for(int i = 0;i< xmls.Length;i++)
{
// write each element into different file
using (var file = File.CreateText(string.Format("xml{0}.xml", i + 1)))
{
file.Write(xmls[i].ToString());
}
}

它将获取根元素内定义的所有元素并将其内容写入单独的文件。

关于c# - 如何根据节点将 XML 文件拆分为多个 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14455639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com