Agusto Xaverius P.Sipahutar

Jobs : Creating many bug with bug fixing too of cource Programming : C# .Net, WSS/MOSS, K2 BlackPearl, SQL Server
See also: Other Geeks@INDC

News

My Certification



MCP ID# 3552391

My Curiculum Vitae


Yahoo Messager

Agusto

Tolong kasih Makan Ikannya Ya :)


Other Articles

Bikers Community

Moss/Wss Articles

December 2005 - Posts

Pindah Kerja Dengan Gaji Lebih Besar

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.

 

Share this post: | | | |
Posted: Dec 28 2005, 10:21 PM by agusto | with 1 comment(s)
Filed under:
Working Load XML with XPATH and Namespace
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
RetailerId> 
<Store
>
  <StoreID>faeb5402-3202-4f46-a530-0c631ac054ee
StoreID> 
<Till
>
  <TillID>90ccda47-939d-46c2-b705-30d83b0f5f3f
TillID> 
<Genre
>
  <Genre>Reward
Genre> 
<CodeGroup
>
 <Telco>1
Telco> 
 <Divider>500
Divider> 
 <LowValue>0
LowValue> 
  <HighValue>20000
HighValue> 
  <Action>Add
Action> 
<Codes
>
  <Code>008225996472286053
Code> 
  <Code>007133082893966958
Code> 
Codes
CodeGroup
Genre>
Till>
<
/Store
>
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


Share this post: | | | |