如何拆分一个XML文件到多个XML文件 [英] How to Split an XML file into multiple XML Files

查看:1487
本文介绍了如何拆分一个XML文件到多个XML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图分裂在C#.NET中的XML文件,以多个小的XML文件和我
试图获得可能的最佳方式了这一点。任何帮助将是什么,我试图做...



源XML文档


$ B大...样品例如
$ b

 <?XML版本=1.0独立=YES>?; 
< DATABASE>
<&DOC GT;
<&DOCID GT; 8510188< / DOCID>
<&发行GT; 2010< /发行>
< CAT>文学艺术LT; / CAT>
< TITLE>测试与LT; / TITLE>
< TEXT>测试与LT; / TEXT>
< / DOC>
<&DOC GT;
<&DOCID GT; 1510179< / DOCID>
<&发行GT; 2012< /发行>
< CAT>其他< / CAT>
< TITLE>测试与LT; / TITLE>
< TEXT>测试与LT; / TEXT>
< / DOC>
< /数据库和GT;



应该分头到两个XML文档如下



1)

 <?XML版本=1.0独立=YES>?; 
< DATABASE>
<&DOC GT;
<&DOCID GT; 8510188< / DOCID>
<&发行GT; 2010< /发行>
< CAT>文学艺术LT; / CAT>
< TITLE>测试与LT; / TITLE>
< TEXT>测试与LT; / TEXT>
< / DOC>
< /数据库和GT;



2)

 <?XML版本=1.0独立=YES>?; 
< DATABASE>
<&DOC GT;
<&DOCID GT; 1510179< / DOCID>
<&发行GT; 2012< /发行>
< CAT>其他< / CAT>
< TITLE>测试与LT; / TITLE>
< TEXT>测试与LT; / TEXT>
< / DOC>
< /数据库和GT;


解决方案

好吧,我会使用LINQ到XML:

 的XDocument DOC = XDocument.Load(的test.xml); 
VAR newDocs = doc.Descendants(DOC)
。选择(D =>新建的XDocument(新的XElement(数据库,D)));
的foreach(在newDocs VAR newDoc)
{
newDoc.Save(/ *在这里工作了文件名* /);
}



(我假设你想拯救它们。也许你不需要。我刚下打印出来到控制台,而不是测试这一点。)


I am trying to split a XML file to multiple small xml files in C#.net and am trying to get the best possible approach to this. Any help on this will be great... Sample example on what I am trying to do...

Source XML document

<?xml version="1.0" standalone="yes"?>
<DATABASE>
  <DOC>
    <DOCID>8510188</DOCID>
    <ISSUE>2010</ISSUE>
    <CAT>Literature and Art</CAT>
    <TITLE>Test</TITLE>
    <TEXT>Test</TEXT>
  </DOC>
  <DOC>
    <DOCID>1510179</DOCID>
    <ISSUE>2012</ISSUE>
    <CAT>Miscellaneous</CAT>
    <TITLE>Test</TITLE>
    <TEXT>Test</TEXT>
  </DOC>
</DATABASE>

Should split to two xml documents as below

1)

<?xml version="1.0" standalone="yes"?>
<DATABASE>
  <DOC>
   <DOCID>8510188</DOCID>
   <ISSUE>2010</ISSUE>
   <CAT>Literature and Art</CAT>
   <TITLE>Test</TITLE>
   <TEXT>Test</TEXT>
  </DOC>
</DATABASE>

2)

<?xml version="1.0" standalone="yes"?>
<DATABASE>
  <DOC>
    <DOCID>1510179</DOCID>
    <ISSUE>2012</ISSUE>
    <CAT>Miscellaneous</CAT>
    <TITLE>Test</TITLE>
    <TEXT>Test</TEXT>
  </DOC>
</DATABASE>

解决方案

Well, I'd use LINQ to XML:

XDocument doc = XDocument.Load("test.xml");
var newDocs = doc.Descendants("DOC")
                 .Select(d => new XDocument(new XElement("DATABASE", d)));
foreach (var newDoc in newDocs)
{
    newDoc.Save(/* work out filename here */);
}

(I'm assuming you want to save them. Maybe you don't need to. I've tested this just by printing them out to the console instead.)

这篇关于如何拆分一个XML文件到多个XML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆