草庐IT

优化if...else...语句

全部标签

sql-server - 是否可以使用变量设置使用 FOR XML PATH 的选择语句中的 ROOT 元素?

我有一个创建xml文件的查询。目前,我对ROOT元素进行了硬编码。我想使用变量值来设置此根元素值,但用变量替换硬编码字符串会引发语法错误,即expectingastring。这是选择语句:DECLARE@SelectResultsXMLDECLARE@DatabaseNamevarchar(100)SELECT@DatabaseName=DB_NAME();SET@SelectResults=(SELECT...queryresultshere...FORXMLPATH(''),ROOT(@DatabaseName)--whenthisissetto'DatabaseName'itwo

SQL优化: Xml or Delimited String

希望这只是一个涉及Sql2008查询性能优化的简单问题。我曾为在ETL流程和部分网站中大量使用存储过程的公司工作过。我见过他们需要根据一组有限的键值检索特定记录的场景。我已经看到它以3种不同的方式处理,如下面的伪代码所示。连接字符串并执行它的动态SQL。EXEC('SELECT*FROMTableXWHERExIdIN('+@Parameter+')'使用用户定义的函数将分隔的字符串拆分成表格SELECT*FROMTableYINNERJOINSPLIT(@Parameter)ONyID=splitId使用XML作为参数而不是分隔的varchar值SELECT*FROMTableZJO

xml - (XSLT,代码优化)如何输出引用兄弟节点值的节点..?

我正在使用XSLT将XML转换为XML,目标是读取标签的值,如果它为null则必须为其分配值,如果柜面,也为null,则必须将默认文本“Default”分配给..两个标签..编辑如果为空且不是..那么代码不应该更新与'Default'文本,但必须按原样进行转换..这是我正在尝试的测试XML:data1data2data1data2这是我设计的XSLT代码:DefaultDefault虽然我的代码有效,但我对其庞大的代码不满意。是否有办法去除多余的(如果有的话)行....是否有其他方法可以使用2个模板来完成此操作(即template1和template2),是否可以减少模板的数量?

xml - xslt is/when is choose 比 if 更有效

我知道,一般来说,为了模式匹配,应该避免使用if和choose语句但是我发现自己处于必须使用一个或另一个的情况(这是由于我需要排序)。无论如何我可以使用两个语句或为空白的语句.我想知道哪个效率更高。这是一些伪代码:XMLTitle1Title2Title4Title5Title6XSLT1lessthantwoequals3XSLT2lessthantwoequals3感谢您的帮助! 最佳答案 在这种情况下,它实际上不会产生太大影响。您的第二个“何时”测试仅比您的第一个测试执行的时间少一次。也就是说,如果您从不期望也不希望这两个条件

xml - If then else 在 XPath 1.0 中

我有下一个表达式:population=tree.xpath('(//tr/td/b/a[contains(text(),"Population")]/../../following-sibling::td/span/following-sibling::text())[1]or''//tr/td/b/a[contains(text(),"Population")]/../../following-sibling::td/span/text())返回“真”。如果我使用“|”它不是“或”,而是结合了第一条路径和第二条路径的值,例如['11061886','▼']。如何使逻辑如下:Ifth

xml - XSL : How to test if the current node is a descendent of another node

我是XSLT的新手,但目前需要将其用于CMS。我已经提出了一个问题,但我将尝试描述我的问题,而不会深入了解有关底层CMS的太多信息。如果您需要更多上下文来帮助我,我可以添加。所以我想做的就是测试我的xml的节点是否是特定节点的后代。Writethisout.有什么想法吗?提前致谢:) 最佳答案 您应该使用联合操作和节点集大小比较:Writethisout.如果$someNode是$currentNode的祖先,$someNode|$currentNode/ancestor::*将返回与$currentNode/ancestor相同的

java - 如何避免很多 if else 条件

这个问题在这里已经有了答案:Howtoavoidalotofifelseconditions(8个答案)关闭4年前。我已经阅读了很多关于代码重构和避免ifelse语句的主题。实际上,我在一门课上使用了很多if-else条件。privatestaticStringgetXSIType(StringfieldType){if("_freeFormText".equals(fieldType)||"_eMailAddress".equals(fieldType)||"_help".equals(fieldType)||"_hyperlink".equals(fieldType)||"_inl

sql-server - 使用 SQL FOR XML 语句生成 XML 注释

背景:我正在使用SQLFORXML查询生成一个更大的XML文档(HL7CDA文档)的片段。按照惯例,我们需要在这个XML节点之前包含部分注释,以便在将节点重新组合成更大的文档时,它们更易于阅读。这是预期输出的示例:PastMedicalHistoryCOPD-1998Dehydration-2001Myocardialinfarction-2003这是我为呈现上述XML而构造的SQLFORXML语句:SELECT'10153-2'AS[section/code/@code],'2.16.840.1.113883.6.1'AS[section/code/@codeSystem],'LOI

xml - XSLT 中的 If-then

我在从XML文件中提取一些数据时遇到问题。我仍然有问题想弄清楚如何处理ph:Element的ph:Attribute如果有多个但输出应该看起来像(s_rel0=5,par_s_rel0=5)而不像(s_rel0=5)(par_s_rel0=5)。也许是if-then的情况!?第二个连接应该包含flange_b而不是flange_a。我在错误的地方搜索,但没有找到。你知道我哪里做错了吗!?感谢您的帮助。XML:XSLT:modelequationend;Components.;(=)(='')connect(.,.);期望的输出:modelmass_spring_moComponents

java - 如何使用 XPath 计数表达式来评估 if 语句?

我正在尝试找出如何使用Xpath表达式来验证XPath表达式中是否只有一个匹配节点。下面是一些示例XML:X:1Y:0X:1Y:0X:2Y:0X:1Y:0X:2Y:0所以,我尝试了类似的代码,但它不起作用:XPathFactoryfactory=XPathFactory.newInstance();XPathxpath=factory.newXPath();try{XPathExpressionexpr=xpath.compile("count(//a/b/c)"));}catch(XPathExpressionExceptione){printErr(e);}if(expr==tru