小编nel*_*ebs的帖子

带冒号的xml元素名称

我正在攻击第三方xml api.他们定义了一个类似于以下所需的xml结构.

<ns1:E xmlns:ns1="schema">
<ns1:B>
    <ns2:S>
        <ns2:V>
            <ns2:Bl />
        </ns2:V>
    </ns2:S>
</ns1:B>
</ns1:E>
Run Code Online (Sandbox Code Playgroud)

有一个SQL表,其中包含我需要放入此xml格式的信息.我有一个LINQ to SQL适配器来获取数据,我正在使用a System.Xml来创建XML文档.

XmlDocument.CreateElement("ns1:E"); etc
Run Code Online (Sandbox Code Playgroud)

只要我从元素名称中删除冒号,这样就可以正常工作.使用冒号,只有冒号的右侧是元素名称.我知道冒号是禁止的,但我对第三方api所指控的内容没有任何控制权.

有什么方法可以解决这个问题?是否有任何有用的方法可以强制冒号进入元素名称?我不必使用XMLDocument但不确定其他方法会让我在那里.

更新:我意识到指的<ns1:是命名空间.是的,有2.当写出XML时,如果我说 - 我可以让它工作 -

 XmlDocument.CreateElement(ns1:E", "http://schema);
Run Code Online (Sandbox Code Playgroud)

但是,这是XML输出

<ns1:E xmlns:ns1="http://schema">
Run Code Online (Sandbox Code Playgroud)

如果我只是说XmlDocument.CreateElement("ns1:E");没有uri,那么输出就是<E>.我不希望输出具有架构引用,但我需要有前缀.我想要实现的结果很简单<ns1:E>.两个namspace都在顶部声明,我认为这意味着我必须在每个节点声明它们.

.net xml namespaces linq-to-xml

20
推荐指数
3
解决办法
4万
查看次数

在sql中复制数据时添加列

我正在使用SqlBulkCopy将一些表中的一些记录批量插入到另一个表中.该查询使用SqlDataReader来获取数据.表之间的一个重要区别(除了在映射中处理的列顺序之外)是目标表具有日期列,需要在该日期列中添加当前日期.此日期不在源表中.如何将此添加到当前正常工作的流程中减去此项?

当前的工作代码如下所示:

SqlCommand cmd = new SqlCommand("SELECT * from dbo.source", cn);
            SqlDataReader rdr = cmd.ExecuteReader();                

            using (SqlBulkCopy copy = new SqlBulkCopy(cn))
            {
                copy.ColumnMappings.Add(0, 0);
                copy.ColumnMappings.Add(1, 2);
                copy.ColumnMappings.Add(3, 3);
                copy.ColumnMappings.Add(2, 4);
                copy.ColumnMappings.Add(5, 5);
                copy.ColumnMappings.Add(14, 6);
                copy.DestinationTableName = "destination";
                copy.WriteToServer(rdr);
            }
Run Code Online (Sandbox Code Playgroud)

DB是sql 2008 ENT.

sql sqldatareader sqlbulkcopy sql-server-2008

4
推荐指数
1
解决办法
520
查看次数

wpf检测打开的窗口

在我的WPF应用程序(csharp)中,我有一个事件处理程序,当触发时将打开应用程序的新窗口(窗口B)并显示一些数据.但是,当再次触发事件时,如果新窗口(窗口B)仍然打开,我不想生成窗口B的另一个实例,而只是更新当前实例中显示的数据.所以问题是:如何检测窗口B是否已经存在且仅在尚未打开时才打开,否则只需更新数据?

我找到了Application.Current.Window集合,但不知怎的,这对我来说还不起作用.想法?

wpf events window

2
推荐指数
1
解决办法
9671
查看次数

存储过程列值由另一列的值确定

我有一个这样的数据表.

date, amount, price
2009-10-12, 20, 15.43
2009-10-13, -10, 6.98
Run Code Online (Sandbox Code Playgroud)

我需要编写一个存储过程来返回这些列,并创建一个新列,指示数量是正数还是负数.所以程序的最终结果看起来像这样.

date, amount, price, result
2009-10-12, 20, 15.43, positive
2009-10-13, -10, 6.98, negative
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?这是一个sql 2008 ent db.

sql stored-procedures sql-server-2008

2
推荐指数
1
解决办法
111
查看次数