需要帮助在C#中编写和读取XML文件

时间:2012-03-04 03:52:58

标签: c# xml linq-to-xml

Idea - 顶点列表(Key,X,Y,存储优先级)。

   <?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吗?当我尝试打开它时,它一直告诉我root元素丢失...如果是这样,有人可以提供有效的c#XDocument代码来打开这个文件吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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版本并获得相同的功能。