2011-08-01 94 views
3

我有一個應用程序應該從XML文件讀取數據,然後使用該數據。讀取和使用XML文件作爲數據庫 - Windows Phone 7應用程序

如何在我的應用程序中導入xml文件(代碼是什麼)以及如何使用該xml文件中的數據?

這是我使用XML數據庫的一個例子:

<Data> 
    <Animals> 
    <A> 
     <word>Ant</word> 
     <word>Aardwark</word> 
    </A> 
    <B> 
     <word>Bear</word> 
     <word>Boa</word> 
    </B> 
    </Animals> 
</Data> 

而且我想這

XDocument loadedData = XDocument.Load("Data.xml"); 

從XML文件中讀取數據,但沒有奏效。

此外,我可以使用什麼格式的XML數據?換句話說,xml數據可能是字符串格式或「X-Something」格式?

更新:也許Xml反序列化會適合我嗎?

預先感謝您

回答

0

如果您已經擁有該文件,並且每個應用程序實例都相同(因爲您只需要讀取它),則不需要IsoStore。只需做什麼Matt said快速獲取內容。我建議將它反序列化到一個單獨的類,以便您可以輕鬆地重用和修改數據。

現在,如果您想要存儲數據,您可以稍後輕鬆地序列化現有類並將其存儲在本地。如果你想深入數據存儲,你可以使用SQL CE,它包含在芒果中,並允許你操縱SDF文件(順便說一下,它可以單獨加載應用程序實例)。另外,一個好主意是查看Sterling DB(將使用IsoStore)。

1

Linq2XML是你的朋友,並會幫助你做到這一點!請注意,除非將它放在Isolated Storage之內,否則它將是隻讀的。

+0

其實我已經準備好數據庫文件了,我想從中讀取數據。例如,在應用程序的某個地方,我想讀取標籤「A」下的所有單詞 –

-1

使用System.XML名稱空間,請使用以下代碼。

XmlDocument xml = new XmlDocument(); 
xml.LoadXml("your string of xml"); 
XmlNode xNode = xml.SelectSingleNode("xpath to a single node"); 
XmlNodeList xNodeList = xml.SelectNodes("xpath to multiple nodes"); 

你可以把xNode和xNodeList種狀陣列的結果集,並使用像xNodeList括號語法查看其內容[0]。

+0

我無法在System.Xml命名空間中細化XmlDocument類,我是否可以使用System.Xml.Linq命名空間和XDocument類? –

+0

有趣的是,您是否在Visual Studio項目中添加了對System.XML的引用? (右鍵點擊你的參考文件夾 - >添加引用 - > .NET選項卡 - > System.XML),然後在代碼文件的頂部(使用System.XML)添加命名空間。是的,你也可以使用XDocument,它們都可以達到你的目的(XDocument是最新的方法)。 –

+1

這是針對Windows Phone 7的平臺,xPath支持** NOT **。 –

3

如果「Data.xml」位於項目的根目錄中,請確保將構建操作設置爲Content並且您的代碼應該可以工作。

相關問題