2012-04-03 16 views
1

Ich entwickle einen Webservice - Ich habe einen TestWebServer erstellt, um die Daten zu übertragen, die ich möchte. Im Grunde wird es in einer XML-Datei gelesen, verwendet eine XSL, um es zu transformieren und dann weiterzugeben.Ein XML-Block lesen

Also das XML in der ich zu lesen ist wie folgt:

       <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> 

So dann habe ich eine OrderInput Klasse haben und in den folgenden Code ein:

private OrderItemAttribute[] orderItemAttribute; 

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

und dann eine andere Klasse - OrderItemAttribute die hat folgendes:

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; } 
    } 

Jetzt in meinem Test Webservice habe ich folgendes auf p ass in Prüfwerte:

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

ich dies zu tun, frage mich, statt für alle [1] [2] usw. ist es eine Möglichkeit, auf diese eine foreach-Schleife tun können, und lesen Sie die Werte in allen?

Danke.

Antwort

1

Becuase OrderItemAttribute ist ein Array denken, wenn Sie so etwas wie diese in der Lage sein sollten:

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

Vielen Dank - man denke das sollte gut funktionieren. –

+0

Kein Problem. Froh, zu helfen: P – Arion

+0

Es gab einen Grund, dass ich OrderItemAttribute gestern als ein Array entwarf und dann an diesem Morgen etwas Gehirnfrost hatte und versuchte, einen besseren Weg zu finden, es als [0], [1] usw. zu lesen :) –