对于我最近被分配的大学项目,我需要创建一个代表棋盘的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;
}
}
}
答案 0 :(得分:1)
为什么不根据xml方案创建数据集?然后你会自动获得所有东西作为礼物。我更喜欢这个。帮助很多,以后可以重复使用任何其他东西。
答案 1 :(得分:1)
您可以使用XmlReader.GetAttribute()
方法获取XML属性值:
string piece = _reader.GetAttribute("piece");
答案 2 :(得分:1)
答案 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();
}
}
}
}