2012-03-04 102 views
0

想法 - 頂點列表(鍵,X,Y,存儲優先級)。需要幫助編寫和閱讀C#中的XML文件#

<?xml version="1.0" encoding="utf-8"?> 
    <Vertices> 
    <Vertex Key="0" X="149" Y="209" Priority="7" /> 
    <Vertex Key="1" X="278" Y="128" Priority="7" /> 
    </Vertex> 

這是有效的XML嗎?它一直說我根元素缺失,當我嘗試打開它...如果是這樣,有人可以提供一個有效的C#XDocument代碼來打開這個文件嗎?

+0

你把它粘貼錯了嗎?您的結束標記顯示爲''而不是'' – 2012-03-04 03:54:42

回答

2

這不是有效的XML - 你的閉合件的名稱有誤 - 這將是有效的:

<?xml version="1.0" encoding="utf-8"?> 
<Vertices> 
    <Vertex Key="0" X="149" Y="209" Priority="7" /> 
    <Vertex Key="1" X="278" Y="128" Priority="7" /> 
</Vertices> 

還要確保如果要加載一個XML 文件您使用XDocument.Load而不是XDocument.Parse

+0

我正在使用內存流將zip文件解壓縮到內存中。 memorystream.Position = 0;解決了我的錯誤。 – Wish 2012-03-04 11:44:59

1

您正在打開<Vertices>但關閉</Vertex>。需要,去年關閉標籤更改爲</Vertices>

旁註:

如果您加載XML文件到Visual Studio,它會告訴你,如果它是無效的XML以及爲什麼。在這個例子中它給了錯誤:

Error 1 Tag was not closed. XMLFile1.xml Line 2 Column 5 
Error 2 Expecting end tag </Vertices>. XMLFile1.xml Line 5 Column 6  

如果你沒有自己的Visual Studio中,你可以下載Express版本的自由和獲得相同的功能。

+0

對不起,錯字..實際上就是這樣。這意味着,我的XML是正確的,但我的裝載程序失敗。這削減了我的問題在一半:) – Wish 2012-03-04 10:35:55