小编use*_*587的帖子

XMLUnit - 比较两个忽略子顺序的XML

我试图看看我是否可以使用XMLUnit来比较以下两个不同的XML.我使用Diff类来比较以下两个XML并检查类似的返回false.

XML One
<Required>
   <Question desc="Are you single?">
      <Answers>
        <Answer value="Yes"/>
        <Answer value="No"/>
      </Answers>
   </Question>
</Required>

XML Two
<Required>
   <Question desc="Are you single?">
      <Answers>
        <Answer value="No"/> ''Order is reversed in XML two
        <Answer value="Yes"/>
      </Answers>
   </Question>
</Required>
Run Code Online (Sandbox Code Playgroud)

这是我的JAVA代码:

Diff xmlDiff;
try {
    xmlDiff = new Diff(xmlOne, xmlTwo);
    xmlDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
} catch (Exception e) { }
boolean isEqual = xmlDiff.similar()
Run Code Online (Sandbox Code Playgroud)

java compare xmlunit

9
推荐指数
1
解决办法
7034
查看次数

如何使用SQL在表中查找N个连续记录

我有以下表定义和样本数据.在下表中,"客户产品和日期"是关键字段

Table One
Customer   Product    Date         SALE
   X          A       01/01/2010    YES
   X          A       02/01/2010    YES
   X          A       03/01/2010    NO
   X          A       04/01/2010    NO
   X          A       05/01/2010    YES
   X          A       06/01/2010    NO
   X          A       07/01/2010    NO
   X          A       08/01/2010    NO
   X          A       09/01/2010    YES
   X          A       10/01/2010    YES
   X          A       11/01/2010    NO
   X          A       12/01/2010    YES
Run Code Online (Sandbox Code Playgroud)

在上表中,我需要找到没有销售的N或N个连续记录,销售值为'NO'例如,如果N为2,则结果集将返回以下内容

     Customer   Product    Date         SALE
       X          A       03/01/2010    NO
       X          A       04/01/2010    NO
       X          A       06/01/2010    NO
       X          A       07/01/2010    NO
       X          A       08/01/2010    NO …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2005

8
推荐指数
1
解决办法
9888
查看次数

XSLT从子目录转换多个文件

我创建了一个可以转换单个XML文件的XSLT文件.但是,我有几百个带有多个xml文件的目录.在XSLT中是否有办法转换所有这些文件.我正在使用集合函数来获取所有文件的列表.但是,现在还不确定如何应用转换.

这是我的示例XSLT文件.基本上,我想循环遍历所有xml文件并在单个文件上应用模板表.所有这些转换的输出需要在一个单独的平面文本文件中.

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:foo="http://whatever">

<xsl:output method="text" encoding="ISO-8859-1"/>
    <xsl:template name="process">
        <xsl:variable name="files" select="collection('file:///C:/files/testResults?select=*.xml;recurse=yes')"/>
        <xsl:for-each select="$files">
            <xsl:if test="(not(contains(document-uri(.), 'SuiteSetUp'))) and (not(contains(document-uri(.), 'SuiteTearDown')))">
                <xsl:value-of select="tokenize(document-uri(.), '/')[last()]"></xsl:value-of>
                <xsl:apply-templates select="/testResults/result/tables/table[14]">
                    <xsl:with-param name="title" select="/testResults/rootPath"></xsl:with-param>
                </xsl:apply-templates>
                <xsl:apply-templates select="/testResults/result/tables/table[15]"/>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>

    <xsl:template match="table">
    <xsl:param name="testName"></xsl:param>
        <xsl:for-each select="row">
            <xsl:if test="position() > 2">
                <xsl:variable name="choices" select="col[2]"></xsl:variable>
                <xsl:if test="contains($choices, 'fail')">
                    <xsl:value-of  select="$testName"></xsl:value-of>
                    <xsl:text>|</xsl:text>
                    <xsl:value-of select="col[1]"></xsl:value-of>
                    <xsl:text>|</xsl:text>
                    <xsl:value-of select="foo:getCorrectChoices(col[2])"></xsl:value-of>
                    <xsl:text>|</xsl:text>
                    <xsl:value-of select="foo:getExpectedChoices(col[2])"></xsl:value-of>
                    <xsl:text>|</xsl:text>
                    <xsl:call-template name="NewLine"/>
                </xsl:if>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>

    <xsl:template name="NewLine">
        <xsl:text>&#xA;</xsl:text>
    </xsl:template>

    <xsl:function name="foo:getCorrectChoices">
        <xsl:param name="content"></xsl:param>
        <xsl:analyze-string select="$content" …
Run Code Online (Sandbox Code Playgroud)

xml xslt transform

8
推荐指数
1
解决办法
1万
查看次数

Spring NamedParameterJDBCTemplate重用Prepared Statements

我使用Spring NamedParameterJdbcTemplate从表中获取一些值.出于某种原因,查询在我的Java应用程序中运行速度非常慢,而不是在SQL Management Studio上运行相同的查询.我也注意到在分析器中,准备好的语句不会被重用.如果我多次在我的JAVA应用程序中运行相同的查询,我会看到正在执行的不同预处理语句.因此,不确定为什么语句不会被重用.性能是否因为我在查询中使用IN子句而变慢?

这是我的示例java代码

StringBuilder vQuery = new StringBuilder();
vQuery.append(" SELECT SUM(Qty) FROM vDemand");
vQuery.append(" WHERE ProductID = :ProductID");
vQuery.append(" AND [Date] >= :StartDate AND [Date] <= :EndDate");
vQuery.append(" AND CustomerID IN ( :CustomerID )");

MapSqlParameterSource vNamedParameters = new MapSqlParameterSource();
vNamedParameters.addValue("ProductID", aProductID);
vNamedParameters.addValue("CustomerID", aCustomerlIDs);
vNamedParameters.addValue("StartDate", aDate, Types.TIMESTAMP);
vNamedParameters.addValue("EndDate", aDate, Types.TIMESTAMP);

int vTotalQuantity = this.getNamedParameterJdbcTemplate().queryForInt(vQuery.toString(), vNamedParameters);
return vTotalQuantity;
Run Code Online (Sandbox Code Playgroud)

java spring jdbc spring-jdbc jdbctemplate

7
推荐指数
1
解决办法
7975
查看次数

在C#中处理列表联合与重复

我试图了解如何处理两个可能有重复的列表的联合或合并.例如,List1具有{A,B,C},List2具有{B,C,D}.我试图使用Union操作并得到一个带有值(A,B,C,D)的新列表.但是,我需要第二个列表中的B&C值,而不是第一个.有没有办法指定联合方法,重复使用的值.

我现在使用的代码是

var newList = List1.Union<Object>(List2).ToList();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.Javid

c# union merge list duplicates

4
推荐指数
2
解决办法
7772
查看次数

任何.Net函数或linq查询以取消数据

是否有任何.net库可用于univot excel数据?我目前正在使用LinqToExcel框架从电子表格中读取数据,因此不确定是否有可用于执行unpivot的动态linq查询.谢谢你的任何建议.顺便说一下,我正在寻找一种可以处理多个列的解决方案.

示例原始表

Product Location  Customer1   Customer2   Customer3
  A        X          10         20         100
Run Code Online (Sandbox Code Playgroud)

Destinaton表

Product Location Customer    Demand
  A        X      Customer1    10
  A        X      Customer2    20
  A        X      Customer3    100
Run Code Online (Sandbox Code Playgroud)

.net linq unpivot

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

允许用户在应用程序中嵌入原始SQL查询是一种好习惯吗?

我尽力提出一个合适的标题,如果它没有多大意义,那就找借口.我希望在下面更好地解释它.我们有一个基于.Net框架的应用程序,并使用SQL作为数据存储.与任何应用程序一样,此应用程序需要支持可扩展性,例如支持其他数据转换和验证.

示例:将应用程序视为提供一组输入表的工具,用户可以使用access或excel(已有UI和网格)将数据导入到该表中以允许数据导入.导入数据后,该工具会创建一个中间模型,并对输入数据执行一些计算,然后以预定义的格式抛出结果.输入表模式和中间模型模式是固定的,不会发生任何更改.在从输入数据导出中间模型的阶段需要可扩展性.允许用户能够更改数据的派生方式,例如,不是按一个字段分组,而是允许按多个字段进行分组等.

为了支持这种灵活性,我看到我可以看到两种基本方法

选项1:创建映射到sql数据模型的业务模型,并将业务模型公开给用户,以允许它们覆盖转换并创建新的转换(例如,使用LINQ或纯C#)

选项2:公开整个sql数据模型,并允许用户嵌入原始SQL查询以执行转换和验证.

我个人的偏好是使用选项1,因为我不喜欢允许用户直接使用底层数据表.我更喜欢更有控制的访问.但是,这种方法要求用户使用编程语言(C#或VB).另一方面,选项2可能只需要具有SQL编程知识的人来创建原始查询并直接将它们插入应用程序.但是,我认为这是一个糟糕的方法.

产品管理团队倾向于使用选项2,因为他们认为从资源角度来看它更灵活,更容易实现.

所以,我试图想出两种方法的优点和缺点,以更好地支持我对选项1的倾向.基本上,倾向于在C#或VB .net中使用编程语言而不是仅仅使用纯SQL查询.

请分享您的想法和意见.

c# design-patterns entity-framework

3
推荐指数
1
解决办法
240
查看次数

给出当前日期和星期开始的周开始和结束日期

如果可能的话,我希望joda或非joda解决方案适用于下面的场景

让我们说如果我的一周从02/05/2012开始,并且给定的当前日期是02/22/2011.我需要计算给定当前日期的周开始日期和结束日期.因此,我的解决方案应该在02/19开始一周,在02/25结束一周.为简单起见,我已将我的周开始时间设置为02/05/2011,但它可能是任何一天,我的周总有7天.

我现有的代码如下,但似乎没有按预期工作.

public Interval getWeekInterval(Date calendarStartDate, Date date)
{
    Calendar sDate = Calendar.getInstance();
    sDate.setTime(getMidnightDate(calendarStartDate));

    Calendar eDate = Calendar.getInstance();
    eDate.setTime(date);

    Calendar weekStartDate = (Calendar) sDate.clone();
    logger.debug("Date:" + sDate.getTime());
    while (sDate.before(eDate)) {
        weekStartDate = sDate;
        sDate.add(Calendar.DAY_OF_WEEK_IN_MONTH, 1);
    }

    return new Interval(weekStartDate.getTime(), sDate.getTime());
}
Run Code Online (Sandbox Code Playgroud)

java date jodatime

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

需要帮助Linq with group by和distinct

我正在尝试执行一个组,然后是一个不同的,以验证一组列是否只映射到其他列.例如,在下面的数据集中

Brand   Product      Location      Customer      Demand
 Box       A         Chicago       Chicago        10
 Box       B         Chicago       Milwaukee      20
 Cart      C         Madison       Milwaukee      10
 Cart      D         Chicago       Milwaukee      15
Run Code Online (Sandbox Code Playgroud)

产品A,B,C有效.但是D是无效的,因为存在产品B,芝加哥作为位置和密尔沃基作为客户.我正在尝试构建一个LINQ查询来获取异常记录并遇到一些麻烦.我非常确定我的查询过于复杂.

var vDuplicateSupplierLitho = from p in vRecords
                              group p by new
                              {
                                  Location = p["Location"].Cast<string>(),
                                  Customer = p["Customer"].Cast<string>()
                              } into grp
                              select new
                              {
                                  Location = grp.Key.Location,
                                  Customer = grp.Key.Customer,
                                  Products = from a in grp
                                             group a by new { Product = a["Product"].Cast<string>() } into apngrp
                                             where apngrp.Count() > 1 && apngrp.Select(a …
Run Code Online (Sandbox Code Playgroud)

c# linq group-by

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