阅读XML块
问题描述:
我正在开发一个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循环,并在所有的值读?
谢谢。
答
监守OrderItemAttribute
是一个数组,如果认为你应该能够是这样的:
foreach(var order in orderInput.OrderItemAttribute)
{
order.AttributeName="Value1TestName";
order.AttributeValue="Value1TestValue";
}
千恩万谢 - 认为,应该很好地工作。 – 2012-04-03 09:26:11
没问题。很高兴提供帮助:P – Arion 2012-04-03 09:29:34
我之所以设计OrderItemAttribute为一个数组,昨天有一个原因,然后今天早上有一些脑冻结,试图找出比[0],[1]等更好的方式来读取它:) – 2012-04-03 09:33:18