我正在尝试向XElementArray []添加一些项目,这是wcf请求对象的一部分。
在生成的代理类中,属性定义为
private XmlElement[] MetaData;
将元素添加到此xelement数组中,如下所示
XmlElement[] MetaDataDoc = new XmlElement[10];
string fileName = string.Empty;
var xmldocm = new XmlDocument();
xmldocm.Load(fileName);
MetaDataDoc = xmldocm.DocumentElement.ChildNodes.Cast<XmlElement>().ToArray();
如果我添加一个断点,我只能看到子节点被添加到数组中。然后将此MeteDataDoc设置为wcf request
的MetaData属性这是我加载的示例xml,用于向xmlarray添加元素
<DocumentTemplate>
<MetaData>
<FileName>Account Details</FileName>
<Description>Account Details</Description>
<Language>English - US</Language>
<BusinessChannel>
<Inbound>true</Inbound>
</BusinessChannel>
</MetaData>
</DocumentTemplate>
但是当wcf序列化请求时它会如下所示......多次添加MetaData节点......并在其下添加元素。
不在单个MetaData节点下添加元素
<MetaData>
<FileName>Account Details</FileName>
</MetaData>
<MetaData>
<Description>Account Details</Description>
</MetaData>
<MetaData>
<Language>English - US</Language>
</MetaData>
<MetaData>
<BusinessChannel>
<Inbound>true</Inbound>
</BusinessChannel>
</MetaData>
请你帮我解决这个问题