2012-03-04 94 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