웹 서비스가 있고 아래 코드에서 항목 모음을 반복합니다. 이러한 항목은 XML 형식으로 멋지게 표시됩니다 (아래 예제 참조). 그러나 나는 그것들을 패션과 같이 테이블에 표시하고 싶습니다. 나는 거기에 항목을 삽입하고 그들을 다시 표시하는 datatable을 사용하여 생각.세로 행을 가로 데이터 테이블로 변환
585344
585344 Title Issue 1
585344 Number 140024
585344 State In progress
585350
585350 Title Issue 2
585350 Number 140026
585350 State Classification
어떻게 이런 식으로 표시 할 수 있습니다 :
ID | Title | Number | State
585344 issue 1 140024 In progress
static void Main(string[] args)
{
ABWebService webSvc = new ABWebService();
GetObjectListData gold = new GetObjectListData();
gold.folderPath = "01. ITSM - Service Operation";
gold.RequiredField = new RequiredField[3];
gold.RequiredField[0] = new RequiredField {Value = "Title"};
gold.RequiredField[1] = new RequiredField {Value = "Number"};
gold.RequiredField[2] = new RequiredField {Value = "State"};
try
{
GetObjectListResult golr = webSvc.GetObjectList(gold);
List<NewsTracker> list = new List<NewsTracker>();
if (golr.success)
{
ObjectData[] myObjects = golr.Object;
for (int i = 0; i < myObjects.Length; i++)
{
Console.WriteLine(myObjects[i].id);
foreach (object myItem in myObjects[i].Items)
{
string field1 = string.Empty;
string val1 = string.Empty;
int val2 = 0;
string field2 = string.Empty;
StringVal item = myItem as StringVal;
if (item != null)
{
field1 = item.name;
val1 = item.Value;
Console.WriteLine("\t" + myObjects[i].id + " " + field1 + " " + val1);
}
LongIntVal val = myItem as LongIntVal;
if (val != null)
{
field2 = val.name;
val2 = val.Value;
Console.WriteLine("\t" + myObjects[i].id + " " + field2 + " " + val2);
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw;
}
}
편집 1 :
당신이 말해 줄 수 나는 일반적인 목록에 추가 할 수있는 방법 이런 식으로 : list.Add(new NewsTracker(title,number,state));
그래서 내가 반복 할 수 있고 목록으로 다른 일을 할 수 있습니까?
'DataSet.ReadXml (filePath, XmlReadMode)'는 당신과 같은 단일 레벨 XML을 읽을 수있게 해줍니다. – Franck
트리 형태의 디스플레이가 귀하의 질문과 관련이없는 것 같습니다. 당신은 테이블을 표시하려고 무엇을 했습니까? –