我正在开发一个 Qt 应用程序。我有一些字符串,例如:
(@之前的子字符串)
43243263@example.com
325754754@example.com
Run Code Online (Sandbox Code Playgroud)
我想用
43243263
325754754
Run Code Online (Sandbox Code Playgroud)
怎么做?
我正在尝试根据属性值订购商品:
<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值等
如何在这个优先级中订购这些值以考虑数字内容和字母?
我将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) 我有一种情况,我的XSLT文件应有条件地显示价格和小数,具体取决于输入XML是否包含小数.所以,我可以接收带有两种类型值的XML文件 - XML将包含格式化为小数的所有价格,最多两个位置(我称之为"Decimal-XML")或者价格将四舍五入到最接近的整数(我称之为一个"整数XML").
我的问题是我需要在XSLT文件中尽可能少地重构,然后允许它们以与XML输入相同的格式将转换应用于XHTML.为了实现这一目标,我向我的团队实施并提出了三条指导原则:
format-number()在计算计算值或存储在变量中时,删除所有函数调用.请number(<value>)改用.但是,某些条件适用于此规则(见下文).format-number(<value>, '#.##')格式.这应该确保整数或十进制值将显示为最初存在于XML中.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(<expression>, '0.00')</th>
<th>format-number(<expression>, '#.##')</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) 请指导我这个代码,我想使用数组和函数存储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) 我很迷惑.我想要获得一个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
有任何想法吗?提前致谢!
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)
请帮忙.
这是我的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)
我或声明有问题.
我是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)
在这方面有人可以帮助我.最好的祝福,
我试图从 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)
它部分有效,但不会返回正确的结果。
如果我在Java中创建一个只有一个实例变量的整数数组的简单类,那么对于默认构造函数有什么意义呢?我不想把它留空.
什么是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)