I以下のXML構造を持っている:XSLTバッチ処理
<School>
<SchoolInfo>
<SchoolName>The Big School</SchoolName>
<Opened>2008</Opened>
<SchoolID>SCH1122</SchoolID>
<Geograpics>
<Location>London</Location>
<PostCode>ZZ11 1ZZ</PostCode>
</Geographics>
</SchoolInfo>
<Pupil>
<Name>Tom</Name>
<LastName>Jones</LastName>
<Class>12B</Class>
<Age>16</Age>
</Pupil>
<Pupil>
<Name>Steve</Name>
<LastName>Jobs</LastName>
<Class>09A</Class>
<Age>17</Age>
</Pupil>
<Pupil>
<Name>Joe</Name>
<LastName>Blogs</LastName>
<Class>13A</Class>
<Age>15</Age>
</Pupil>
</School>
私のXML構造が...言う400人の生徒含まれていたと私は50のバッチでそれらを処理し、各50のためにPSVのを区切るために書きたい場合生徒、最初の50、次に50-100、そして100-150などと新しいファイルに各バッチを書く..これはXSLTを使用して行うことができますか、それはプログラム的でなければならないでしょうか?
私はPSVなどに処理するコードを持っています。私はかなり率直にも手がかりを持っていないので、バッチ処理の仕方について行っています。
- PSV:パイプ区切りが
SCH1122|London|Tom|12B|16
SCH1122|London|Steve|09A|17
SCH1122|London|Joe|13A|15
値以下のようにXMLを変換するために使用されるコードは次のとおりです。
private string PerformTransformation(string FilePath)
{
string fullXsltFile;
if (chkDateIncrement.Checked == false)
fullXsltFile = Resources.XSLTTest; // Resources.XSLT;
else
fullXsltFile = Resources.XSLTTest;
XmlDocument xsltTransformDocument = new XmlDocument();
xsltTransformDocument.LoadXml(fullXsltFile);
FileInfo xmlFileInfo = new FileInfo(FilePath);
string outputFile = CreateXmlOutputFileName(xmlFileInfo);
// load the Xslt with any settings
XslCompiledTransform transformation = new XslCompiledTransform();
XsltSettings settings = new XsltSettings(true, false);
settings.EnableScript = true;
transformation.Load(xsltTransformDocument, settings, new XmlUrlResolver());
using (XmlReader reader = XmlReader.Create(FilePath))
{
using (FileStream stream = new FileStream(outputFile, FileMode.Create))
{
transformation.Transform(reader, null, stream);
stream.Close();
}
reader.Close();
}
return outputFile;
}
私もそう悲しげにVS2010でのMicrosoftののプロセサを使用していませんv2.0をサポートするため、v1.0にする必要があります。XSLT
標準のxslt1.0ビルドでこれを行う方法は、addit onalコンポーネントは最も簡単なことではありません。
正確な結果を提供してください。また、PSVが意味することを誰もが推測できるわけではありません。私の現在の推測は「パイプで区切られた値」です。質問を編集し、必要な情報を入力してください。 –
そして、もちろん、XSLTは "プログラム"です:) –
私はその後、実際の出力構造ではなくデータをバッチ処理する能力があります(例えば、400人の瞳孔と50の.txtファイルしか持たないので8つのファイルにする)。あなたが与えたのは、下の段落のXMLの例で述べたとおりです。 – Mike