8

C#.net で XML ファイルを複数の小さな xml ファイルに分割しようとしており、これに対する最善のアプローチを試みています。これに関するヘルプは素晴らしいでしょう...私がやろうとしていることのサンプル例...

ソース XML ドキュメント

<?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>

以下のように 2 つの xml ドキュメントに分割する必要があります。

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>
4

1 に答える 1

8

さて、私は 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 */);
}

(私はあなたがそれらを保存したいと思っていると仮定しています.多分あなたはする必要はありません.代わりにコンソールに出力するだけでこれをテストしました.)

于 2012-08-18T07:58:56.990 に答える