-2
私は実際にxmlファイルを読み込んでフォームに表示するアプリケーションを実行しようとしています。しかし、それは私にデータなしの空白のフォームを与え続けます。実際に注文データを表示するにはどうすればいいですか?アプリケーションを実行しているときに空白のフォーム
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
namespace ReadOrder
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder orderList = new StringBuilder();
orderList.Append("Order List:").Append(Environment.NewLine);
int counter = 0;
// location of xml file
string xmlFilePath = @"..\..\Orders.xml";
{
// get reference to XmlReader object
XmlReader reader = XmlReader.Create(xmlFilePath);
while (reader.ReadToFollowing("order"))
{
counter++;
orderList.Append("Order Counter: " + counter + Environment.NewLine);
reader.ReadToFollowing("Item");
int itemCount = 1;
orderList.Append("Item: " + itemCount + reader.ReadElementContentAsString() +
Environment.NewLine);
while (reader.ReadToNextSibling("item"))
{
itemCount++;
orderList.Append("item: " + itemCount + reader.ReadElementContentAsString()
+ Environment.NewLine);
}
reader.ReadEndElement();
}
reader.Close();
Console.WriteLine(orderList);
Console.Read();
}
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<Orders>
<order OrderID="1">
<OrderDate>28/5/16</OrderDate>
<BuyerId>2</BuyerId>
<Item>
<ItemId>100</ItemId>
<ItemName>Memory Card</ItemName>
<Description>300GB</Description>
<Quantities>1</Quantities>
<UnitPrice>50.00</UnitPrice>
<Remarks>Nil</Remarks>
</Item>
</order>
<order OrderID="2">
<OrderDate>28/5/16</OrderDate>
<BuyerId>4</BuyerId>
<Item>
<ItemId>101</ItemId>
<ItemName>Samsung S6</ItemName>
<Description>Black</Description>
<Quantities>1</Quantities>
<UnitPrice>700.00</UnitPrice>
<Remarks>Nil</Remarks>
</Item>
</order>
<order OrderID="3">
<OrderDate>28/5/16</OrderDate>
<BuyerId>6</BuyerId>
<Item>
<ItemId>102</ItemId>
<ItemName>Samsung S7</ItemName>
<Description>Gold</Description>
<Quantities>1</Quantities>
<UnitPrice>899.00</UnitPrice>
<Remarks>Nil</Remarks>
</Item>
</order>
</Orders>
tryにはcatchが必要です。既にそれを伝えている例外を読んでください –