2012-04-03 117 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