小编use*_*657的帖子

XML序列化+命名空间(C#)

我需要生成这样的东西:

<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
...
</Header>
</AmazonEnvelope>
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样的东西,但它并不完全正确:

XmlSerializerNamespaces nms = new XmlSerializerNamespaces();
        nms.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
        nms.Add("noNamespaceSchemaLocation", "amzn-envelope.xsd");



        XmlSerializer serializer = new XmlSerializer(typeof(XMLAmazonEnvelope));
        StreamWriter writer = new StreamWriter(path);

        serializer.Serialize(writer, objectToSave,nms);
        writer.Close();
Run Code Online (Sandbox Code Playgroud)

结果是:

<?xml version="1.0" encoding="utf-8"?>
<xsi:AmazonEnvelope xmlns:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsi:Header>
...
</xsi:Header>
</xsi:AmazonEnvelope>
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.任何想法,应该采取哪些不同的做法?

c# xml serialization namespaces

5
推荐指数
1
解决办法
2112
查看次数

更好的算法性能

我有这样的事情:

using (SqlDataAdapter a = new SqlDataAdapter(query, c))
            {
                // 3
                // Use DataAdapter to fill DataTable
                DataTable t = new DataTable();
                a.Fill(t);

                string txt = "";
                for (int i = 0; i < t.Rows.Count; i++)
                {
                    txt += "\n" + t.Rows[i][0] + "\t" + t.Rows[i][1] + "\t" + t.Rows[i][2] + "\t" + t.Rows[i][3] + "\t" + t.Rows[i][4] + "\t" + t.Rows[i][5] + "\t" + t.Rows[i][6] + "\t" + t.Rows[i][7] + "\t" + t.Rows[i][8] + "\t" + t.Rows[i][9] + "\t" …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
142
查看次数

标签 统计

c# ×2

namespaces ×1

serialization ×1

xml ×1