2010-11-19 17 views
1

Sadece aşağıdaki verileri almanın ve çözümlemenin en iyi yolunun ne olacağını merak ediyorum.Bir Web sitesinden XML Dosya Verilerini Kapatma

Çekmek istediğim bazı veriler için bir örnek.

<?xml version="1.0" encoding="UTF-8" ?> 
<eveapi version="2"> 
    <currentTime>2010-11-19 19:23:44</currentTime> 
    <result> 
     <rowset name="characters" key="characterID" columns="name,characterID,corporationName,corporationID"> 
      <row name="jennyhills" characterID="90052591" corporationName="Imperial Academy" corporationID="1000166" /> 
     </rowset> 
    </result> 
    <cachedUntil>2010-11-19 20:20:44</cachedUntil> 
</eveapi> 

Ben XML verileri ayrıştırmak için bazı örnekler gördüm ama ifadeleri eğer hepsi dayanmaktadır ve bu zor kodlama bir çok bunu yapmak için daha genel bir yolu yoktur değil mi?

+0

http://thedailywtf.com/Articles/Soft_Coding.aspx – dsolimano

cevap

0

Kelimeyi tam anlamıyla alan "ayrıştırma" kolaydır. Ayrıştırma, bir metin dizesi alma (sizin durumunuzda, bir http yanıtından) ve bir XML belge ağacı gibi bir veri yapısına dönüştürme işlemidir. Bu işlem sizin için XML ayrıştırıcısı tarafından ele alınır ve genellikle bunun için endişelenmenize gerek yoktur.

Karşı karşıya olduğunuz bölüm, ayrıştırılmış XML belgesindeki verilerin nasıl sorgulanacağıdır, doğru mu? Verilerle ne yapmanız gerektiğine büyük ölçüde bağlı olmanın en kolay yolu. Ancak, XPath, ifadeler ve get-child işlev çağrıları olduğunda çok fazla veri olmadan verileri seçmenin iyi bir yoludur. Ayrıca bkz. this question on using XPath in Android.

1

Parserler, çalıştıkları şekilde oldukça kodlanmışlardır. Yalnızca belirli bir etiketin belirli bir kalıpla eşleşip eşleşmediğini kontrol edebilir ve sonra ne yapacağına karar verebilirsiniz. Özellikle sizinki gibi basit belgeler için sorun değil.

Ayrıştırılacak birden fazla belge türünüz varsa, bu SO answer numarasını okumanızı öneririz.

İlgili konular