2012-04-03 116 views
1

我正在開發一個web服務 - 我創建了一個TestWebserive來傳遞我想要的數據。基本上它會讀取一個XML文件,使用XSL來轉換它,然後傳遞它。閱讀XML塊

所以我讀的XML如下:

       <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value1</utcc:AttributeName> 
            <utcc:AttributeValue>1</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value2</utcc:AttributeName> 
            <utcc:AttributeValue>2</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value3</utcc:AttributeName> 
            <utcc:AttributeValue>3</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value4</utcc:AttributeName> 
            <utcc:AttributeValue>4</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value5</utcc:AttributeName> 
            <utcc:AttributeValue>5</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value6</utcc:AttributeName> 
            <utcc:AttributeValue>6</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value7</utcc:AttributeName> 
            <utcc:AttributeValue>7</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value8</utcc:AttributeName> 
            <utcc:AttributeValue>8</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 
           <utcc:OrderItemAttribute> 
            <utcc:AttributeName>Value9</utcc:AttributeName> 
            <utcc:AttributeValue>9</utcc:AttributeValue> 
           </utcc:OrderItemAttribute> 

所以我當時有一個OrderInput類,並在它下面的代碼:

private OrderItemAttribute[] orderItemAttribute; 

[XmlElement("OrderItemAttribute")] 
     public OrderItemAttribute[] OrderItemAttribute 
     { 
      get { return orderItemAttribute; } 
      set { orderItemAttribute = value; } 
     } 

,然後另一個類 - OrderItemAttribute這有以下幾種:

private string attributeName; 
    private string attributeValue; 

    [XmlElement("AttributeName")] 
    public string AttributeName 
    { 
     get { return attributeName; } 
     set { attributeName = value; } 
    } 

    [XmlElement("AttributeValue")] 
    public string AttributeValue 
    { 
     get { return attributeValue; } 
     set { attributeValue = value; } 
    } 

現在在我的測試Web服務中,我有以下內容到p屁股測試值:

orderInput.OrderItemAttribute[0].AttributeName = "Value1TestName"; 
orderInput.OrderItemAttribute[0].AttributeValue = "Value1TestValue"; 

我想知道,而不是做這一切[1] [2]等是有辦法,我可以做這樣一個foreach循環,並在所有的值讀?

謝謝。

回答

1

監守OrderItemAttribute是一個數組,如果認爲你應該能夠是這樣的:

foreach(var order in orderInput.OrderItemAttribute) 
    { 
     order.AttributeName="Value1TestName"; 
     order.AttributeValue="Value1TestValue"; 
    } 
+0

千恩萬謝 - 認爲,應該很好地工作。 – 2012-04-03 09:26:11

+0

沒問題。很高興提供幫助:P – Arion 2012-04-03 09:29:34

+0

我之所以設計OrderItemAttribute爲一個數組,昨天有一個原因,然後今天早上有一些腦凍結,試圖找出比[0],[1]等更好的方式來讀取它:) – 2012-04-03 09:33:18