MusicXML dosyalarını dosyama yüklüyorum. Sorun:Seri hale getirilmeden önce XML dosyalarının türlerini nasıl ayırt edebilirim?
<?xml version="1.0" encoding='UTF-8' standalone='no' ?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<work>...</work>
...
</score-partwise>
ve
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-timewise PUBLIC "-//Recordare//DTD MusicXML 2.0 Timewise//EN" "http://www.musicxml.org/dtds/timewise.dtd">
<score-timewise version="2.0">
<work>...</work>
...
</score-timewise>
deserializing için Kodum: Farklı kök düğümlerin (ve farklı bir yapıya) sahip iki “lehçeler”, timewise ve partwise vardır partwise skor şimdiye kadar geçerli:
using (var fileStream = new FileStream(openFileDialog.FileName, FileMode.Open))
{
var xmlSerializer = new XmlSerializer(typeof(ScorePartwise));
var result = (ScorePartwise)xmlSerializer.Deserialize(fileStream);
}
İki lehçeyi birbirinden ayırmanın en iyi yolu ne olurdu?
xml dosyaları ne kadar büyük? – EkoostikMartin
Bu gerçekten parçaya bağlı, dört sesleri ile Palestrina tarafından ortalama bir motet yaklaşık 12000 satır/300 KB var. Bütün bir senfoni kesinlikle bundan daha fazlasına sahip olacak. –
Tamam, dosyanın 3. satırını bir dizeye yüklerim ve daha sonra bir parçacığı veya timewise'ı aramak için 'String.IndexOf()' yapardım, sonra hangi dosya türüyle uğraştığınızı bilirsiniz. doğru seri hale getirici. – EkoostikMartin