lostyazilim
tr.link

XML'den HTML verileri çekmek

4 Mesajlar 1.198 Okunma
acebozum
tr.link

initiO initiO WM Aracı Kullanıcı
  • Üyelik 03.02.2015
  • Yaş/Cinsiyet 42 / E
  • Meslek Bilişim
  • Konum İstanbul Avrupa
  • Ad Soyad A** Ş**
  • Mesajlar 3
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Merhaba;

şöyle bir xml yapım var ve bu xml'den çoğu verileri çekiyorum, fakat altındaki açıklama verilerini çekemiyorum çünkü içerisinde

etiketleri var, verileri çekmek istediğimde şöyle bir hata alıyorum:

anaurun.urunaciklama = item.detay_ozellik.tostring(); yazdığımda

Beklenmeyen düğüm türü: Element. ReadElementString yöntemi, yalnızca basit veya boş içeriğe sahip öğelerde çağrılabilir. Satır 750, konum 10.


XML



XML


T.KA.001.01.0012
1346
SHARK S700S PINLOCK NASTY
001
SHARK
4
219,00
219,00
EURO
18,00
0
ADET
http://x/content_files/prd_images/E10/img_s/T.KA.001.01.0012.jpg
http://x/content_files/prd_images/E10/img_b/T.KA.001.01.0012.jpg
SHARK S700S PINLOCK NASTY












 Warranty 4 out of 5




Ergonomik güneş vizörü kontrol sistemi



Çizilmelere karşı dayanıklı ve 2.2mm kalınlığında ekstra esnek vizör.



Ultraviole ışıklarına karşı koruyan güneş vizörü.



Eldiven ile beraber kullanmak için optimize edilmiş havalandırma sistemi.













0,00
http://x.com/content_files/prd_images/E10/img_bb/T.KA.001.01.0012.jpg

NTKASKRENK
RENK
NTKASKBEDEN
BEDEN


NTKASKRENKKVW
SIYAH _ PEMBE
NTKASKBEDEN04
L
3
Tutar
0,00
T.KA.001.01.0012.KVW.04


NTKASKRENKKYW
SIYAH _ SARI _ BEYAZ
NTKASKBEDEN01
XS
2
Tutar
0,00
T.KA.001.01.0012.KYW.01


NTKASKRENKKYW
SIYAH _ SARI _ BEYAZ
NTKASKBEDEN05
XL
0
Tutar
0,00
T.KA.001.01.0012.KYW.05


NTKASKRENKKVW
SIYAH _ PEMBE
NTKASKBEDEN03
M
0
Tutar
0,00
T.KA.001.01.0012.KVW.03


NTKASKRENKKYW
SIYAH _ SARI _ BEYAZ
NTKASKBEDEN02
S
0
Tutar
0,00
T.KA.001.01.0012.KYW.02


NTKASKRENKKVW
SIYAH _ PEMBE
NTKASKBEDEN01
XS
0
Tutar
0,00
T.KA.001.01.0012.KVW.01


NTKASKRENKKYW
SIYAH _ SARI _ BEYAZ
NTKASKBEDEN03
M
0
Tutar
0,00
T.KA.001.01.0012.KYW.03


NTKASKRENKKYW
SIYAH _ SARI _ BEYAZ
NTKASKBEDEN04
L
0
Tutar
0,00
T.KA.001.01.0012.KYW.04


NTKASKRENKKVW
SIYAH _ PEMBE
NTKASKBEDEN02
S
0
Tutar
0,00
T.KA.001.01.0012.KVW.02


NTKASKRENKKVW
SIYAH _ PEMBE
NTKASKBEDEN05
XL
0
Tutar
0,00
T.KA.001.01.0012.KVW.05







Class



Class

{
[XmlRoot(ElementName = "grup")]
public class Grup
{
[XmlElement(ElementName = "grup_kod")]
public string Grup_kod { get; set; }
[XmlElement(ElementName = "grup_tanim")]
public string Grup_tanim { get; set; }
[XmlElement(ElementName = "kayit_no")]
public string Kayit_no { get; set; }
[XmlElement(ElementName = "ust_grup_kod")]
public string Ust_grup_kod { get; set; }
}

[XmlRoot(ElementName = "urun_gruplari")]
public class Urun_gruplari
{
[XmlElement(ElementName = "grup")]
public List Grup { get; set; }
}

[XmlRoot(ElementName = "urun")]
public class Urun
{
[XmlElement(ElementName = "urun_kod")]
public string Urun_kod { get; set; }
[XmlElement(ElementName = "kayit_no")]
public int Kayit_no { get; set; }
[XmlElement(ElementName = "urun_tanim")]
public string Urun_tanim { get; set; }
[XmlElement(ElementName = "grup_kod")]
public string Grup_kod { get; set; }
[XmlElement(ElementName = "marka")]
public string Marka { get; set; }
[XmlElement(ElementName = "stok_durum")]
public string Stok_durum { get; set; }
[XmlElement(ElementName = "fiyat_sonk")]
public string Fiyat_sonk { get; set; }
[XmlElement(ElementName = "fiyat_bayi")]
public string Fiyat_bayi { get; set; }
[XmlElement(ElementName = "doviz")]
public string Doviz { get; set; }
[XmlElement(ElementName = "kdv")]
public string Kdv { get; set; }
[XmlElement(ElementName = "kdv_tip")]
public string Kdv_tip { get; set; }
[XmlElement(ElementName = "birim")]
public string Birim { get; set; }
[XmlElement(ElementName = "resim_k")]
public string Resim_k { get; set; }
[XmlElement(ElementName = "resim_b")]
public string Resim_b { get; set; }
[XmlElement(ElementName = "temel_ozellik")]
public string Temel_ozellik { get; set; }
[XmlElement(ElementName = "desi")]
public string Desi { get; set; }
[XmlElement(ElementName = "resim_eb")]
public string Resim_eb { get; set; }
[XmlElement(ElementName = "detay_ozellik")]

public string Detay_ozellik { get; set; }
[XmlElement(ElementName = "opsiyon_genel")]

public Opsiyon_genel Opsiyon_genel { get; set; }
}






[XmlRoot(ElementName = "secenek")]
public class Secenek
{
[XmlElement(ElementName = "sec_kod1")]
public string Sec_kod1 { get; set; }
[XmlElement(ElementName = "sec_tanim1")]
public string Sec_tanim1 { get; set; }
[XmlElement(ElementName = "sec_kod2")]
public string Sec_kod2 { get; set; }
[XmlElement(ElementName = "sec_tanim2")]
public string Sec_tanim2 { get; set; }
[XmlElement(ElementName = "sec_miktar")]
public string Sec_miktar { get; set; }
[XmlElement(ElementName = "sec_fiyat_tip")]
public string Sec_fiyat_tip { get; set; }
[XmlElement(ElementName = "sec_fiyat_fark")]
public string Sec_fiyat_fark { get; set; }
[XmlElement(ElementName = "sec_barkod")]
public string Sec_barkod { get; set; }
}

[XmlRoot(ElementName = "secenekler")]
public class Secenekler
{
[XmlElement(ElementName = "secenek")]
public List Secenek { get; set; }
}

[XmlRoot(ElementName = "opsiyon_genel")]
public class Opsiyon_genel
{
[XmlElement(ElementName = "opsiyon1_kod")]
public string Opsiyon1_kod { get; set; }
[XmlElement(ElementName = "opsiyon1_tanim")]
public string Opsiyon1_tanim { get; set; }
[XmlElement(ElementName = "opsiyon2_kod")]
public string Opsiyon2_kod { get; set; }
[XmlElement(ElementName = "opsiyon2_tanim")]
public string Opsiyon2_tanim { get; set; }
[XmlElement(ElementName = "secenekler")]
public Secenekler Secenekler { get; set; }
}

[XmlRoot(ElementName = "urunler")]
public class Urunler
{
[XmlElement(ElementName = "urun")]
public List Urun { get; set; }


}

[XmlRoot(ElementName = "katalog")]
public class Katalog
{
[XmlElement(ElementName = "urun_gruplari")]
public Urun_gruplari Urun_gruplari { get; set; }
[XmlElement(ElementName = "urunler")]
public Urunler Urunler { get; set; }




}








.cs


XmlDocument xmlVerisi = new XmlDocument();
xmlVerisi.Load("http://www.tcmb.gov.tr/kurlar/today.xml");


decimal Euro = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "EUR")).InnerText.Replace('.', ','));
double eu = Convert.ToDouble(Euro);


XmlSerializer seri = new XmlSerializer(typeof(Katalog));

Katalog MyKatalog = (Katalog)seri.Deserialize(new XmlTextReader(Server.MapPath("XXX.xml")));




foreach (Grup gr in MyKatalog.Urun_gruplari.Grup)
{

Kategoriler yeni = new Kategoriler();
var ara = from i in db.Kategoriler
where i.Grup_Ad == gr.Ust_grup_kod
select i.KategoriId;


foreach (var item in ara)
{
yeni.KategoriAdi = gr.Grup_tanim;
yeni.UstKategoriId = Convert.ToInt32(item);
yeni.XmlAdi = "x";

yeni.Xmlid = Convert.ToInt32(gr.Grup_kod);
}

db.Kategoriler.Add(yeni);
db.SaveChanges();

}

foreach (Urun item in MyKatalog.Urunler.Urun)
{

var varmı = db.Markalar.Any(u => u.MarkaAdi == item.Marka);

if (varmı == true)
{

continue;
}

else
{

Markalar marka = new Markalar();




marka.MarkaAdi = item.Marka;
marka.XmlAdi = "x";


db.Markalar.Add(marka);
db.SaveChanges();

}




}


foreach (Urun item in MyKatalog.Urunler.Urun)
{


Ana_Urun anaurun = new Ana_Urun();
Kategoriler kat = new Kategoriler();
var urunekle = from i in db.Kategoriler.ToList()
where i.Xmlid == Convert.ToInt32(item.Grup_kod)
select i.KategoriId;


foreach (var U in urunekle)
{



bool var = db.Ana_Urun.Any(u => u.KayitNo == item.Kayit_no);

if (var == true)
{
Label1.Text = "Ürünler Güncellendi";

}

if (var == false)
{


if (item.Opsiyon_genel != null)
{

anaurun.Varyant = 1;

}


else
{
anaurun.Varyant = 0;
}




var katisim = db.Kategoriler.FirstOrDefault(x => x.KategoriId == U).KategoriAdi;

bool doviz = item.Doviz == "EURO";

if (doviz == true)
{


double fiyat = Convert.ToDouble(item.Fiyat_sonk);

double carp = fiyat * eu;


anaurun.KategoriId = U;
anaurun.KategoriAdi = katisim;
anaurun.UrunAdi = item.Urun_tanim;
anaurun.UrunMarka = item.Marka;
anaurun.UrunStokDurumu = Convert.ToInt32(item.Stok_durum);
anaurun.Fiyat = Convert.ToDecimal(carp);
anaurun.BayiFiyat = Convert.ToDecimal(carp);
anaurun.UrunResmi1 = item.Resim_b;
anaurun.UrunResmi2 = item.Resim_eb;
anaurun.UrunAciklama = item.Temel_ozellik;
anaurun.AltId = 0;
anaurun.UrunVitrin = 1;
anaurun.indirim = 1;
anaurun.StokNumarasi = item.Urun_kod;
anaurun.KayitNo = item.Kayit_no;
anaurun.Fiyat = Convert.ToDecimal(carp);
anaurun.BayiFiyat = Convert.ToDecimal(carp);


anaurun.Tedarikci = "x";
anaurun.UrunAciklama = item.Detay_ozellik;


db.Ana_Urun.Add(anaurun);
db.SaveChanges();


}


if (doviz == false)
{

anaurun.KategoriId = U;
anaurun.KategoriAdi = katisim;
anaurun.UrunAdi = item.Urun_tanim;
anaurun.UrunMarka = item.Marka;
anaurun.UrunStokDurumu = Convert.ToInt32(item.Stok_durum);
anaurun.Fiyat = Convert.ToDecimal(item.Fiyat_sonk);
anaurun.BayiFiyat = Convert.ToDecimal(item.Fiyat_bayi);
anaurun.UrunResmi1 = item.Resim_b;
anaurun.UrunResmi2 = item.Resim_eb;

anaurun.AltId = 0;
anaurun.UrunVitrin = 1;
anaurun.indirim = 1;
anaurun.StokNumarasi = item.Urun_kod;
anaurun.KayitNo = item.Kayit_no;

anaurun.Tedarikci = "x";






db.Ana_Urun.Add(anaurun);
db.SaveChanges();
}







Label1.Text = "Ürünler Eklendi";

}

}


if (item.Opsiyon_genel != null)
{


foreach (Secenek sec in item.Opsiyon_genel.Secenekler.Secenek.ToList())
{

bool var = db.Ana_Urun.Any(u => u.StokNumarasi == sec.Sec_barkod);



if (var == true)
{
Label1.Text = "Ürünler Güncellendi";

}

if (var == false)
{

var varyantlar = from i in db.Ana_Urun.ToList()
where i.Varyant == 1
select i.Id;


foreach (var x in varyantlar)
{

anaurun.AltId = x;
anaurun.Ozellik1Adi = sec.Sec_tanim1;
anaurun.Ozellik2Adi = sec.Sec_tanim2;
anaurun.Varyant = 2;
anaurun.StokNumarasi = sec.Sec_barkod;
anaurun.UrunStokDurumu = Convert.ToInt32(sec.Sec_miktar.ToString());



}

db.Ana_Urun.Add(anaurun);
db.SaveChanges();

}
}



}




}






içindeki verileri olduğu gibi html şeklinde verileri çekmem lazım yardımlarınızı bekliyorum
 

 

wmaraci
reklam

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
xml'de bazı karakterleri kullanmak hata veriyordu. Onları nette araştırarak bulabilirsin.
 

 

www.ontedi.com
www.cizgi.site

Apollo Apollo Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 11.12.2015
  • Yaş/Cinsiyet 37 / E
  • Meslek Mekatronik Muhendisi
  • Konum Ukrayna
  • Ad Soyad H** H**
  • Mesajlar 41
  • Beğeniler 5 / 15
  • Ticaret 1, (%0)
xml genellikle linux tabanlı sunucularda iyi sonuç veriyordu.Ancak asp.net üzerinden çekeceksen karakter setlerini araştırman gerekir.Çünkü windows kendi karakter setlerinde (1254 dahil) xml verisini çekerken ciddi karakter sıkıntıları yaratmakta.
 

 

bekayazilim bekayazilim www.bekawebyazilim.com Kullanıcı
  • Üyelik 22.07.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum İstanbul Anadolu
  • Ad Soyad E** A**
  • Mesajlar 405
  • Beğeniler 69 / 69
  • Ticaret 9, (%100)
ücretli destek verebiliriz.
 

 

Bekayazılım İnternet Bilişim Hizmetleri
info@bekawebyazilim.com
0542 370 17 52
www.bekawebyazilim.com
www.bekawebsoft.com
wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)