C# Xmlden Verileri Çekmek (Yardım)
-
ben bi xmlden verileri çekmek istiyorum ama xml standart değil mesela xmlde esya bilgisi diye bi bölüm var altında bir veya daha fazla esya olabiliyor kac tane olacagı belli degil .o yüzden verilerin hepsini aynı anda çekip bakmam lazım ben tek tek çekebiliyorum ama hepsi aynı anda olmuyor yapamadım nasıl yapabilirim?
-
bir çok farklı yöntem uygulanabilir fakat en kolay olarak
http://bytes.com/topic/xml/answers/641181-reading-xml-c-net
xmlreader classınında msdnde kullanımına bakabilirsin.
veya regex kullanarak istedigin kısımları ayırırsın.
veya substring le falan bölebilirsin
tamamen sana kalmış bi oaly hangisi koalyına gelirse
kaçtane olacagı belli olmayan döngülerdede ;
for each döngüsüyle tüm nesneleri döndürebilirsin veya whilela read kontrolü yaparsın sana kalmış. -
yapmak istedigim işlemde başlangıcta kac tane esya var onu bulmalıym ona göre programa eklemem gerekiyor.for each le yapmam lazım sanırım ama nasıl yapabilirim?
<esya> -
bir class a deserialize edebilirsin. çok ta kolay olur
dökümanı ise: http://sharpertutorials.com/using-xsd-tool-to-generate-classes-from-xml/
-
peki esyanın kac tane oldugunu nasıl bakcam ki o yöntemle ? tüm verileri çekmek için güzelmiş ama arada kac tane esya olacagını bilmedigim için hangi elemanı nereye kaydecegimi bilemem ki
-
xml dosyasının içindeki <esya> taglarını saydırsan ?
-
nasıl saydırabilirim o yöntemle olabilir belki
-
esyalar arrayi verecek sende countunu alacaksın hacım..
zaten xml in yanlıs
<esyalar>
<esya>
<sira>1</sira>
<isim>dolap</isim>
</esya>
<esya>
<sira>2</sira>
<isim>boru</isim>
</esya>
</esyalar>
böyle bir xml geldiğinde esya diye array olacak onun count u kaçsa o kadar esya var demektir..
-
hocam yapamadım bi türlü biliyorsan yardm eder msn :S
aslında xml su sekilde;
<esyalar>
<esya>
<satırno>1</satırno>
<esyacinsi>dolap</ esyacinsi >
<agırlık>100</agırlık>
<esyacinsi>masa</ esyacinsi >
<agırlık>100</agırlık>
<satırno>2</satırno>
<esyacinsi>dolap</ esyacinsi >
<agırlık>300</agırlık>
<esyacinsi>masa</ esyacinsi >
<agırlık>100</agırlık>
</esya>
</esyalar>
-
tamam hacım işte linkte verdiğim şekilde yap, olmazsa akşam bakalım
-
xmlin ağaç yapısında bariz bi yanlışlık var . sharpın verdiği örnekte gayet açık olmuş dene bi onu .