小编Mat*_*ler的帖子

删除特定字符后的所有内容

我正在开发一个 Qt 应用程序。我有一些字符串,例如:

(@之前的子字符串)

43243263@example.com

325754754@example.com
Run Code Online (Sandbox Code Playgroud)

我想用

43243263

325754754
Run Code Online (Sandbox Code Playgroud)

怎么做?

c++ qt

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

订购价值

我正在尝试根据属性值订购商品:

<xsl:apply-templates select="Question">
    <xsl:sort order="ascending" select="@Value"></xsl:sort>
</xsl:apply-templates>
Run Code Online (Sandbox Code Playgroud)

这确实对它们进行了排序,但我可以得到像1,2,3,...... 10,11,... 20这样的值,它会命令它们1,10,11,... 2,20 ...... 3.等
我也可以像1.A,1.B,2.A,2.B值等

如何在这个优先级中订购这些值以考虑数字内容和字母?

xml xslt

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

如何从xml文档的不同部分嵌套xsl:for-each?

我将XSL放在一起,而不是创建一个NAnt构建脚本,使用XML文件作为输入来定义所有需要构建的项目.我们有许多非常相似的项目,包括标准布局和切换区域的定义标准,因此有一个XML文件定义了开发人员想要发生的事情,而不是描述它是如何完成的,这将极大地有助于构建服务的使用.

我想在产品构建XML文件的早期定义要使用的构建模式,即

<Build>
    <BuildModes>
        <Mode name="Debug" />
        <Mode name="Release" />
    </BuildModes>

    <ItemsToBuild>
        <Item name="first item" .... />
        <Item name="second item" .... />
    </ItemsToBuild>
 </Build>
Run Code Online (Sandbox Code Playgroud)

我想要一个

<xsl:for-each select="/Build/BuildModes/Mode">
    <xsl:for-each select="/Build/ItemsToBuild/Item">
        <exec program="devenv">
        <xsl:attribute name="line">
            use the @name from the Mode and other stuff from Item to build up the command line
        </xsl:attribute>
    </xsl:for-each>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

现在,我可以通过在两个for-each线之间定义来保持Mode/@ name值,但这有点乱,我真正想要做的是翻转nexting以便构建模式在里面Item循环使它构建一种模式然后构建另一种模式.目前它将构建所有调试,然后构建所有发布版本.要做到这一点,我必须有几个声明,这将变得非常混乱.

因此,当源文档中的元素未嵌套时,它会嵌套.

编辑:

好吧,因为下面接受的答案显示在大多数情况下使用for-each是一个坏主意,我已将此示例重新编写为以下内容.它略有不同,因为我正在使用的架构被简化为上面的帖子,但你明白了.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>

<xsl:template match="/BuildDefinition">
    <xsl:apply-templates select="/BuildDefinition/VS2008SLN/DeploymentProject"/>
</xsl:template>

<xsl:template match="/BuildDefinition/VS2008SLN/DeploymentProject">
    <xsl:apply-templates select="/BuildDefinition/BuildModes/Mode">
        <xsl:with-param name="BuildTarget" select="." /> …
Run Code Online (Sandbox Code Playgroud)

xml xslt loops nested xslt-1.0

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

XSLT基于输入XML的十进制格式

我有一种情况,我的XSLT文件应有条件地显示价格和小数,具体取决于输入XML是否包含小数.所以,我可以接收带有两种类型值的XML文件 - XML将包含格式化为小数的所有价格,最多两个位置(我称之为"Decimal-XML")或者价格将四舍五入到最接近的整数(我称之为一个"整数XML").

我的问题是我需要在XSLT文件中尽可能少地重构,然后允许它们以与XML输入相同的格式将转换应用于XHTML.为了实现这一目标,我向我的团队实施并提出了三条指导原则:

  1. format-number()在计算计算值或存储在变量中时,删除所有函数调用.请number(<value>)改用.但是,某些条件适用于此规则(见下文).
  2. 要显示该值时,请使用该format-number(<value>, '#.##')格式.这应该确保整数或十进制值将显示为最初存在于XML中.
  3. 对于可选标签(例如"折扣"),format-number(<value>, '0.00')即使仅计算该值,也要使用该功能.这是必要的,因为如果标签不存在,尝试获取值将得到NaN结果.

以下是XSLT的说明性示例:

  <x:stylesheet version="1.0" xmlns:x="http://www.w3.org/1999/XSL/Transform">
  <x:template match="/">
    <html>
      <body>
        <table border="1" width="60%">
          <tr>
            <th>Simple</th>
            <th>number()</th>
            <th>format-number(&lt;expression&gt;, '0.00')</th>
            <th>format-number(&lt;expression&gt;, '#.##')</th>
          </tr>
          <x:apply-templates />
        </table>
      </body>
    </html>
  </x:template>

  <x:template match="Item">
    <x:variable name="qty" select="number(@numItems)" />
    <x:variable name="cost" select="number(ItemCost) * $qty" />
    <x:variable name="extraCharges" select="(number(Tax) + number(TxnFee)) * $qty"/>
    <x:variable name="discount" select="format-number(Discount, '0.00') * $qty"/>
    <tr>
      <td>
      <!-- Works for Integer-XML, but values in Decimal-XML are
      *sometimes* …
Run Code Online (Sandbox Code Playgroud)

xml xslt formatting decimal xslt-1.0

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

结构和功能(通过引用传递)

请指导我这个代码,我想使用数组和函数存储5个数据的列表,这是我的一段代码,但这给了我一个错误("33"):

Cannot convert `ABC (*)[5]' to `ABC*' for argument `1' to `void pass(ABC*)' 
Run Code Online (Sandbox Code Playgroud)

码:

#include <iostream>

using namespace std;

struct ABC{
   char name[20];
   int phone;
   char address[20];


   };

   void pass(ABC *abc){

  for(int i=0; i<5;i++){
        cout<<"Enter name"<<endl;
        cin>>abc[i].name;

        cout<<"Enter phone"<<endl;
        cin>>abc[i].phone;

        cout<<"Enter address"<<endl;
        cin>>abc[i].address;           

        }

 }

 int main()
 {
ABC abc[5];

   pass(&abc);    

system("PAUSE");
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays pointers structure function

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

分部是java中的incorect

我很迷惑.我想要获得一个int价值:

Integer ord = new Double(33 / (-2 * 1.1)).intValue();
Run Code Online (Sandbox Code Playgroud)

期望:-15
输出:-14

怎么了?

当我尝试:

Double d = 33 / (-2 * 1.1);
Run Code Online (Sandbox Code Playgroud)

输出: -14.999999999999998

有任何想法吗?提前致谢!

java floating-point division

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

Python-如何解决TypeError

 import urllib, urllib2
 from bs4 import BeautifulSoup, Comment
 url='http://www.amazon.in/product-reviews/B00EJBA7HC/ref=cm_cr_pr_top_link_1?ie=UTF8&pageNumber=1&showViewpoints=0&sortBy=bySubmissionDateDescending'
 content = urllib2.urlopen(url).read()
 soup = BeautifulSoup(content, "html.parser")
 fooId = soup.find('input',name='ASIN',type='hidden') #Find the proper tag
 value = fooId['value']
 print value
Run Code Online (Sandbox Code Playgroud)

我需要此代码从给定的URL打印产品的ASIN ID.

相反,我收到以下错误:

TypeError: find() got multiple values for keyword argument 'name'
Run Code Online (Sandbox Code Playgroud)

请帮忙.

python screen-scraping beautifulsoup python-2.7

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

XSLT if Last节点

这是我的XSLT 1.0代码:

<xsl:for-each select = "segment">
    <xsl:if test ="position() != 1 or position() != last()">
      <notfirstorlast></notfirstorlast>    
     </xsl:if> 
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

这应该添加一个<notfirstorlast>元素,在所有<segment>节点中为第一个和最后一个节点exepct.但它不起作用.它将在没有或声明的情况下工作.这个作品:

<xsl:if test ="position() != 1>
Run Code Online (Sandbox Code Playgroud)

我或声明有问题.

xml xslt xslt-1.0

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

如何使用xslt生成随机UUID

我是xslt的新手.我想使用xslt生成32位长的UUID并将其添加到xml作为输入.我试图使用数学自由的随机函数,但得到错误.

输入XML

<users xmlns="ABC_Login">
   <email>ABC@gmail.com</email>
</users>
Run Code Online (Sandbox Code Playgroud)

XSLT代码段

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns1="ABC_Login"  xmlns:math="http://exslt.org/math"
extension-element-prefixes="math" version="2.0">
    <xsl:template match="/ns1:users">
        <users>
            <email>
                <xsl:value-of select="ns1:email" />
            </email>
            <UUID>
                <xsl:value-of select="(floor(math:random()*10) mod 10) + 1" />
            </UUID>
        </users>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

我正在使用在线编辑器,但获得如下例外.http://xslttest.appspot.com/

错误:找不到名为{ http://exslt.org/math } random()的匹配0参数函数.没有撒克逊扩展函数,本地名称是随机的

实际上我需要使用xslt生成随机令牌并将其添加到输入xml中.

预期产出

<users xmlns="ABC_Login">
       <email>ABC@gmail.com</email>
       <uuid>7B81A9B0D9-CA0E-E70F-ADFF-116EE7A1A980<</uuid>
    </users>
Run Code Online (Sandbox Code Playgroud)

在这方面有人可以帮助我.最好的祝福,

xml xslt xslt-2.0

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

Xpath 查询不会返回结果

我试图从 Xpath 查询返回一些结果,但它不会正确选择元素。我正在使用以下代码:

public function getTrustPilotReviews($amount)
{
    $trustPilotUrl = 'https://www.trustpilot.co.uk/review/purplegriffon.com';
    $html5 = new HTML5;
    $document = $html5->loadHtml(file_get_contents($trustPilotUrl));
    $document->validateOnParse = true;
    $xpath = new DOMXpath($document);
    $reviewsDomNodeList = $xpath->query('//div[@id="reviews-container"]//div[@itemprop="review"]');
    $reviews = new Collection;

    foreach ($reviewsDomNodeList as $key => $reviewDomElement)
    {
        $xpath = new DOMXpath($reviewDomElement->ownerDocument);

        if ((int) $xpath->query('//*[@itemprop="ratingValue"]')->item($key)->getAttribute('content') >= 4)
        {
            $review = [
                'title'     => 'Test',
                'author'    => $xpath->query('//*[@itemprop="author"]')->item($key)->nodeValue,
                'date'      => $xpath->query('//*[@class="ndate"]')->item($key)->nodeValue,
                'rating'    => $xpath->query('//*[@itemprop="ratingValue"]')->item($key)->nodeValue,
                'body'      => $xpath->query('//*[@itemprop="reviewBody"]')->item($key)->nodeValue,
            ];

            $reviews->add((object) $review);
        }
    }

    return $reviews->take($amount);
}
Run Code Online (Sandbox Code Playgroud)

此代码不会返回任何内容:

//div[@id="reviews-container"]//div[@itemprop="review"]
Run Code Online (Sandbox Code Playgroud)

但如果我把它改成:

//*[@id="reviews-container"]//*[@itemprop="review"]
Run Code Online (Sandbox Code Playgroud)

它部分有效,但不会返回正确的结果。

php xpath domdocument domxpath

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

数组默认构造函数

如果我在Java中创建一个只有一个实例变量的整数数组的简单类,那么对于默认构造函数有什么意义呢?我不想把它留空.

java arrays constructor default-constructor

-6
推荐指数
1
解决办法
2346
查看次数

什么是ruby中的is_a,Integer是什么意思?

什么是is_a红宝石又是什么意思整数?

def prime(n)
  puts "That's not an integer." unless n.is_a? Integer
  is_prime = true
  for i in 2..n-1
    if n % i == 0
      is_prime = false
    end
  end
  if is_prime
    puts "#{n} is prime!"
  else
    puts "#{n} is not prime."
  end
end

prime(2)
prime(9)
prime(11)
prime(51)
prime(97)
Run Code Online (Sandbox Code Playgroud)

ruby

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