C# 如何用XML编写SQL数据

C# 如何用XML编写SQL数据,c#,xml,axapta,xmlwriter,C#,Xml,Axapta,Xmlwriter,我是C编程新手,我要做的是从Dynamics中获取一些数据,我对此没有问题,并通过一个方法将其传递给Visual Studio类,所有这些都是为了创建具有特定结构和财务数据的XML XML结构: <Catalogo Version="1.0" RFC="SIN120706RX7" TotalCtas="98" Mes="07" Ano="2014"> <Ctas CodAgrup="1" NumCta="100" Desc="CAJA" Nivel="1" Natur="

我是C编程新手,我要做的是从Dynamics中获取一些数据,我对此没有问题,并通过一个方法将其传递给Visual Studio类,所有这些都是为了创建具有特定结构和财务数据的XML

XML结构:

<Catalogo Version="1.0" RFC="SIN120706RX7" TotalCtas="98" Mes="07" Ano="2014">
   <Ctas CodAgrup="1" NumCta="100" Desc="CAJA" Nivel="1" Natur="D"/>
   <Ctas CodAgrup="2" NumCta="120" Desc="BANCOS" Nivel="1" Natur="D"/>
   <Ctas CodAgrup="2.1" NumCta="1200001" Desc="BANCOMER CTA 0190864250" SubCtaDe="120" Nivel="2" Natur="D"/>
...
</Catalogo>
Catalogo元素只设置一次,但是Ctas元素可以根据当月的活动改变行数,所以我是否需要forloop来插入可变行数

这是否可以插入我从Dynamics获得的数据,还是需要两种方法?一个用于Catalogo元素,另一个用于ctas元素?我该怎么做

编辑

我刚刚创建了一个从查询中获取字符串的方法:

public void Addcuentas(string[] addct)
            {
                int i;
                int j;
                int n = 4;// variable numer of rows 
                string[] addcta = new string[n * 5]; // there is always be 5 columns

                // save data
                for (i = 0; i < n; i++)
                {
                    for (j = 0; j < 5; j++)
                    {
                        addcta[i * j] = cata[j];
                    }

                }
            }
我尝试用以下代码填充XML:

for (i = 0; i < n; i++)
                {
                    for (j = 0; j < 5; j++)
                    {
                        xmlWriter.WriteStartElement("Ctas");

                        xmlWriter.WriteAttributeString("CodAgrup", (addcta[i * j]));
                        xmlWriter.WriteAttributeString("NumCta", (addcta[i * (j + 1)]));
                        xmlWriter.WriteAttributeString("Desc", (addcta[i * (j + 2)]));
                        xmlWriter.WriteAttributeString("Nivel", (addcta[i * (j + 3)]));
                        xmlWriter.WriteAttributeString("Natur", (addcta[i * (j + 4)]));
                        xmlWriter.WriteEndElement();
                    }
                }

但是我真的不知道我做错了什么,因为无法创建XML,不知道这是我尝试填充XML的方法还是方式,欢迎提供任何帮助和建议。

最好在业务对象中包含数据契约属性,并将其转换为XML。将该XML发送到SQL。简而言之,我将尝试提交一个示例。您是否尝试过使用循环?看来你需要重新考虑你的ctas元素。你的问题是什么?是的,我试过了,但我不知道如何从查询中插入数据,应该是一个将查询转换为数组的方法吗?还是另一种方法?
for (i = 0; i < n; i++)
                {
                    for (j = 0; j < 5; j++)
                    {
                        xmlWriter.WriteStartElement("Ctas");

                        xmlWriter.WriteAttributeString("CodAgrup", (addcta[i * j]));
                        xmlWriter.WriteAttributeString("NumCta", (addcta[i * (j + 1)]));
                        xmlWriter.WriteAttributeString("Desc", (addcta[i * (j + 2)]));
                        xmlWriter.WriteAttributeString("Nivel", (addcta[i * (j + 3)]));
                        xmlWriter.WriteAttributeString("Natur", (addcta[i * (j + 4)]));
                        xmlWriter.WriteEndElement();
                    }
                }