如何从C#中的XML文档中读取属性?

时间:2014-05-24 18:47:36

标签: c# xml xmlreader

对于我最近被分配的大学项目,我需要创建一个代表棋盘的XML文档。所以我为棋盘上的每个空间创建了元素,然后我想为每个包含该片段名称的空间元素分配一个属性。例如:

<pos piece="R"/>

将是一个白嘴鸦。

说到C#程序,我如何读取属性值 我正在使用这样的循环:

while(_reader.Read())
{
   if (_reader.NodeType == XmlNodeType.Element)
   {
      if(_reader.HasAttributes)
      {
           //This is where i want to assign the attribute to a char
           char piece;
      }
   }
}

4 个答案:

答案 0 :(得分:1)

为什么不根据xml方案创建数据集?然后你会自动获得所有东西作为礼物。我更喜欢这个。帮助很多,以后可以重复使用任何其他东西。

答案 1 :(得分:1)

您可以使用XmlReader.GetAttribute()方法获取XML属性值:

string piece = _reader.GetAttribute("piece");

答案 2 :(得分:1)

哟,这里的微软教程希望它有所帮助。 MSDN

答案 3 :(得分:1)

当我开始编程时,我做了其中一段时间​​。这可能不是最有效的方式,但它会起作用。

XmlReader ReadXML = XmlReader.Create("XML FILE"); //Creates XMLReader instance

   while (ReadXML.NodeType != XmlNodeType.EndElement) //Sets the node types to closes. 
    {
       ReadXML.Read(); //Reads the XML Doc
            if (ReadXML.Name == "Child") //Focuses node 
            {
               while (ReadXML.NodeType != XmlNodeType.EndElement)//If the node is not empty
                 {
                    ReadXML.Read();
                    if (ReadXML.NodeType == XmlNodeType.Text) //Gets the text in the node
                    {
                        Console.WriteLine("In 'Child' node = {0}", ReadXML.Value);
                        Console.ReadKey();
                    }
                }
          }
      }