【发布时间】:2015-01-28 17:05:33
【问题描述】:
我的WCF服务当前输出如下(下面只展示了一部分):
<s:Body>
<executeSelectSP2Response xmlns="http://tempuri.org/">
<executeSelectSP2Result xmlns:a="http://schemas.datacontract.org/2004/07/WCF_Services.DataContract" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Rows>
<a:RowDetail>
<a:Fields>
<a:FieldDetail>
<a:name>STATE_CD</a:name>
<a:value>1</a:value>
</a:FieldDetail>
<a:FieldDetail>
<a:name>STATE_CD_TXT</a:name>
<a:value>Alabama</a:value>
</a:FieldDetail>
<a:FieldDetail>
<a:name>STATE_CD_SHORT_TXT</a:name>
<a:value>AL</a:value>
</a:FieldDetail>
</a:Fields>
</a:RowDetail>
在示例中,“RowDetail”元素针对美国的每个州重复出现。
我有两个问题:
如何删除标签中的“a:”前缀。我假设我需要更改 xmlns 设置,但我不确定如何在不引发错误的情况下执行此操作。我查看了其他线程,但无法正常工作。
是否可以从输出中删除无关元素,即“行”和“字段”?我理解他们为什么会在那里 - 这是由于我如何设置我的课程(发布在下面),但是看 IMO 很混乱。
类:
[DataContract]
public class Results2Detail
{
[DataMember]
public RowDetail[] Rows;
}
[DataContract]
public class RowDetail
{
[DataMember]
public FieldDetail[] Fields;
}
[DataContract]
public class FieldDetail
{
[DataMember]
public String name;
[DataMember]
public String value;
}
【问题讨论】:
-
你想完成什么?你想摆脱前缀还是命名空间?你明白前缀只是命名空间的缩写吗?
标签: c# xml wcf automapper