December 2005 - Posts
Ada satu article di Astaga.com tentang Pindah Kerja Dengan Gaji Yang Lebih Besar.
Silahkan klik site ini : http://www.astaga.com/karir/article.php?id=28261&cat=133.
Tips yang mungkin bisa berguna
Bila kita mempunyai XML data yang menggunakan Namespace tetapit tidak memiliki perfix, akan terjadi sedikit masalah dalam pembuatan query pada XPAT di XML.
Misalnya datanya sebagai berikut :
<CodeFile xmlns="urn:sample:CodeFile"> <RetailerId>56d1a8f6-f748-405d-90dd-c20dea1053de< SPAN>RetailerId> <Store> <StoreID>faeb5402-3202-4f46-a530-0c631ac054ee< SPAN>StoreID> <Till> <TillID>90ccda47-939d-46c2-b705-30d83b0f5f3f< SPAN>TillID> <Genre> <Genre>Reward< SPAN>Genre> <CodeGroup> <Telco>1< SPAN>Telco> <Divider>500< SPAN>Divider> <LowValue>0< SPAN>LowValue> <HighValue>20000< SPAN>HighValue> <Action>Add< SPAN>Action> <Codes> <Code>008225996472286053< SPAN>Code> <Code>007133082893966958< SPAN>Code> < SPAN>Codes> < SPAN>CodeGroup> < SPAN>Genre> < SPAN>Till> </Store> < SPAN>CodeFile>
Sedikit kendala pada xml ini adalah namespace ada tapi prefix tidak ada bisa di lihat pada tag xml ini : <CodeFile xmlns="urn:sample:CodeFile">, Namespace nya adalah urn:sample:CodeFile
Tetapi prefix tidak ada.
Pada tag tag yang akan kita query akan sedikit bermasalah karena node tersebut tidak akan bisa di load di XPATH bila namespace dan prefix tidak di set pada XPATH nya dengan benar.
Sehingga kita harus mengupayakan XML ini mempunyai namespace dan prefix dan kita bisa load dengan benar.
Konsepnya adalah kita load XML ini update xmlns="urn:sample:CodeFile" sehingga mempunyai prefix misalnya kita buat prefixnya akan menjadi spt ini xmlns:M="urn:sample:CodeFile". Jadi nantinya XML tersebut memiliki prefix yaitu M.
Contoh Sintaxnya adalah sebagai berikut :
StreamReader myStremReader = System.IO.File.OpenText(sfilename); // Load data xml fisik filenya string strTmp = myStremReader.ReadLine(); //read satu baris myStrBuilder.Append(strTmp.Replace("xmlns=","xmlns:M=")); //update xmlnya sehingga memiliki prefix myStrBuilder.Append(myStremReader.ReadToEnd()); //read sisa datanya dan semua nya di gabungkan kembali di StringBuilder myStremReader.Close(); //Close load file
Dan sisanya bisa lakukan XMLNameSpaceManager,XPATH seperti biasanya
|