2011-09-28 74 views
0

我剛剛使用此代碼從XML文件讀取XML數據。它成功從file.I讀取數據。我只是想知道如何從XML讀取SelectSingleNode數據數據集。如何從C#中的DATASET對象讀取xml數據

public DataSet ds =new DataSet(); 
public FileStream stream = null; 

stream = new FileStream(schdlpath, FileMode.Open); 
ds.ReadXml(stream); 

//after this even if i delete the xml file it won't hamper the appliaction. 
stream.Close(); 

//this way I can print all the data.. 
Console.WriteLine(ds.GetXml()); 

所有我想要的是讀取數據 這樣

public XmlDocument document = new XmlDocument(); 
XmlNode ht = document.DocumentElement.SelectSingleNode("/Schedule/AudioVedioPlayer/Height"); 

其實我想讀取XML數據,並將其存儲到一個變量。

回答

1
public XmlDocument document = new XmlDocument(); 
document.LoadXml(ds.GetXml()); 
XmlNode ht = document.DocumentElement.SelectSingleNode("/Schedule/AudioVedioPlayer/Height"); 
+0

thnx4 help,bt我可以從數據集中讀取數據... ?? – kaushik

+0

編輯爲直接從DataSet中讀取。 –

+0

THnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...剛剛應用於演示應用程序。正在添加到大one.wish我的運氣.... n也sorrry f我的thnx似乎對你來說很小......我真的意味着它的大方式。 – kaushik

0

您可以將數據集中的xml寫入流中,然後使用該流將其讀入到XmlDocument對象中。從那裏,你可以使用DOM來導航。

現在,您是否試圖將一部分數據(如XML)存儲到變量中?或者你在尋找身高值?如果前者,我對你的計劃沒有任何問題。如果是後者,我認爲,從看你的XPath語句(的SelectSingleNode()),您具備以下條件:

數據集:計劃 表:AudioVedioPlayer 物業:身高

如果我對您的設置正確,那麼通過向下鑽取到DataSet中,您可以輕鬆獲得所需的值。

public DataSet ds =new DataSet(); 
public FileStream stream = null; 
stream = new FileStream(schdlpath, FileMode.Open); 
ds.ReadXml(stream); 

然後,您可以得到表:

ScheduleTable table = ds.Schedule; 

,並獲得價值

int height = table.Height; 

或者你可以快捷它

int height = ds.Schedule.Height; 

沒有理由獲得XML,除非你想要一整段XML 。