小编eLR*_*uLL的帖子

如何将xaml绑定到动态xpath?

我有一个列表框,显示基于XPath查询的项目.

此XPath查询会根据用户在GUI中其他位置的选择而更改.XPath始终引用同一文档.

目前,我使用一些C#代码将控件的绑定更改为新的XPath表达式.

我想改为将XAML绑定到XPath,然后根据需要更改该XPath的值.

我该怎么办?

.net wpf xaml xpath code-behind

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

从php中的电话号码修剪国家/地区代码

我会得到一个国家代码$countryCode和一个电话号码$phone_no。电话号码开头会有国家/地区代码,因此我必须从 中删除国家/地区代码$phone_no并获得不附加任何代码的普通电话号码。

例如,如果国家是印度尼西亚,我将得到:

$country_code = '62';
$phone_no = '+62509758151';
// need to  get 509758151
Run Code Online (Sandbox Code Playgroud)

目前我正在尝试使用正则表达式和修剪功能

$result = ltrim( preg_replace("/[^0-9]+/", "",$phone_no) , $country_code);
// $result is 509758151
Run Code Online (Sandbox Code Playgroud)

这在这种情况下有效,但当电话号码以国家代码中提到的数字开头时失败。 $phone_no = '+62609758151';

$result = ltrim( preg_replace("/[^0-9]+/", "",$phone_no) , $country_code);
// $result is 09758151 which is incorrect
Run Code Online (Sandbox Code Playgroud)

更不用说它也会在诸如 +62629758151 之类的琐碎情况下失败

请提出建议。我知道基于字符串的解决方案,例如substr()等,但我正在寻找一些基于正则表达式的解决方案

php regex

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

apt-get 命令在 docker 容器中不起作用

我正在尝试在 docker 映像中安装一些软件包,但 apt-get 命令似乎不起作用......

当我在基于 ubuntu:16.04 的容器中尝试此操作时

apt-get update && apt-get install -y openssh-server
Run Code Online (Sandbox Code Playgroud)

我懂了:

Err:1 http://archive.ubuntu.com/ubuntu zesty InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu zesty-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu zesty-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu zesty-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/zesty/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/zesty-updates/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/zesty-backports/InRelease  Temporary failure resolving 'archive.ubuntu.com'
W: …
Run Code Online (Sandbox Code Playgroud)

ubuntu docker dockerfile

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

docker run在卷标志中使用$(pwd)抛出“无效的参考格式:存储库名称必须为小写”

docker run$(pwd)在卷标志(-v)中使用时,引发“无效的引用格式:存储库名称必须为小写”错误。这是当前引起问题的命令:

docker run --rm -v $(pwd)/app/polymer:/home/polymer/app jefferyb/polymer-cli polymer build
Run Code Online (Sandbox Code Playgroud)

shell docker

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

强制Django测试将模型写入数据库

我正在建立一个非常简单的Django项目,并且测试非常简单:

def test_name(self):
    t = Thing.objects.create(name='a')
    print(t.id)
    import time
    time.sleep(30)
    self.assertEqual('a', t.name)
Run Code Online (Sandbox Code Playgroud)

当然测试通过,但是数据库(TEST数据库)没有填充我的Thing模型信息,即使我可以看到它,id因为你可以看到我的脚本.

当我连接到数据库时,Thing表总是空的(我在文档中也看到了一些关于它的评论).

现在,我如何告诉Django实际填充数据?我正在使用mysql,并检查完整的日志,我看到Django正在创建一个SAVEPOINT填充前的数据(未提交),一旦测试通过,它就会回到之前的状态SAVEPOINT.

我在用:

Django==2.0.1
mysqlclient==1.3.12
pytest==3.3.2
pytest-django==3.1.2
Run Code Online (Sandbox Code Playgroud)

我希望Django实际填充TEST数据库,使用我的测试中的信息,最后删除该数据库,这就是为什么我假设Django正在为测试创建一个全新的数据库.

python mysql django pytest pytest-django

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

使用PHP和simplexml从XML检索CDATA内容

我有以下XML结构:

<?xml version="1.0" ?>
<course xml:lang="nl">
  <body>
    <item id="787900813228567" view="12000" title="0x|Beschrijving" engtitle="0x|Description"><![CDATA[Dit college leert studenten hoe ze een onderzoek kunn$
    <item id="5453116633894965" view="12000" title="0x|Onderwijsvorm" engtitle="0x|Method of instruction"><![CDATA[instructiecollege]]></item>
    <item id="7433550075448316" view="12000" title="0x|Toetsing" engtitle="0x|Examination"><![CDATA[Opdrachten/werkstuk]]></item>
    <item id="015071401858970545" view="12000" title="0x|Literatuur" engtitle="0x|Required reading"><![CDATA[Wayne C. Booth, Gregory G. Colomb, Joseph M. Wi$
    <item id="5960589172957031" view="12000" title="0x|Uitbreiding" engtitle="0x|Expansion"><![CDATA[]]></item>
    <item id="3610066867901779" view="12000" title="0x|Aansluiting" engtitle="0x|Place in study program"><![CDATA[]]></item>
    <item id="19232369892482925" view="12000" title="0x|Toegangseisen" engtitle="0x|Course requirements"><![CDATA[]]></item>
    <item id="3332396346891524" view="12000" title="0x|Doelgroep" engtitle="0x|Target audience"><![CDATA[]]></item>
    <item id="6606851872934866" view="12000" title="0x|Aanmelden bij" engtitle="0x|Enrollment at"><![CDATA[]]></item>
    <item id="1478643580820973" …
Run Code Online (Sandbox Code Playgroud)

php xpath simplexml

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

Android Preference android:icon getIcon null

我试图在xml中为android 调用getIcon一个Preference声明.在所有资源都被夸大之后,我在onCreate为偏好调用它Activity.

图标显示但是如果我这样做findPreference(key)则会调用getIcon并在该首选项上返回的图标是null.

我错过了什么吗?

icons android preference

5
推荐指数
0
解决办法
364
查看次数

Shell脚本 - 将字符串拆分为数组时检查长度

我正在使用bash脚本,我试图在内部拆分一个带有url的字符串,例如:

str=firsturl.com/123416 secondurl.com/634214
Run Code Online (Sandbox Code Playgroud)

所以这些URL是用空格分隔的,我已经使用IFS命令来拆分字符串,它工作得很好,我可以通过以下两个URL迭代:

for url in $str; do
    #some stuff
done
Run Code Online (Sandbox Code Playgroud)

但我的问题是我需要得到这个拆分有多少项,所以对于str示例它应该返回2,但使用这个:

${#str[@]}
Run Code Online (Sandbox Code Playgroud)

返回字符串的长度(40对于当前示例),我的意思是我需要获取的字符数2.

使用计数器进行迭代也不起作用,因为在迭代数组之前我需要元素的数量.

有什么建议?

linux bash shell

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

EasyMock无法在java.sql.Connection对象上模拟close()方法

我无法模仿对象close()上的方法java.sql.Connection.我的最终目标是在运行JUnit测试时进行连接池.这将消除单元测试期间的连接开销,因为测试中的代码为每个SQL请求执行connect/close.

我有代码片段来演示这个问题.它成功地模拟了connect(),但无法模拟close()调用.连接和关闭都必须模拟到托管池连接.

由于该close()方法不返回值,我正在使用EasyMock.expectLastCall.

以下代码定义了mock,但是close()从不执行print语句,并且我的连接已关闭.

public class ConnectionPoolTest {

    public static final String DATASOURCE_REF = "jdbc/cloudexDS";
    public static final String ref = "osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=" + DATASOURCE_REF + ")";

    @BeforeClass
    public static void setUpBeforeClass() throws Exception 
    {
        //
        //  set up a simple database connection (e.g. DB2SimpleDataSource) 
        //
        DataSource dbds = connect("localhost", "dbname", "userid", "password", 50000);

        //
        //  now set up mock for the datasource to use the above connection
        // …
Run Code Online (Sandbox Code Playgroud)

java junit easymock jdbc

5
推荐指数
0
解决办法
667
查看次数

docker vieux/sshfs 权限被拒绝

  1. 我使用 vieux/sshfs 创建卷
docker 插件安装 --grant-all-permissions vieux/sshfs
docker 卷创建 -d vieux/sshfs -o sshcmd=usfo@192.168.1.1:/swarm-study/web/data -o 密码='123' sshvolume


  1. 我在容器 :usfo Dockerfile上创建一个用户:
来自 debian
复制sources.list /etc/apt/sources.list
运行 apt-get update
运行 apt-get install -y apache2
运行 apt-get install -y php7.0 php7.0-mysql
复制 apache2.conf /etc/apache2/apache2.conf

运行 groupadd -g 1000 usfo
运行 useradd -u 1000 -g 1000 usfo

复制index.php /var/www/html/index.php
RUN mkdir /自动运行
复制 autorun.sh /autorun/autorun.sh
运行 chmod 755 /autorun/autorun.sh
运行 mkdir /html-data
命令./autorun/autorun.sh
  1. 并使用usfo用户运行apache

    apache2.conf:
用户usfo
乌斯福集团
  1. 使用此命令运行容器
docker run -itd -p 80:80 --mount type=volume,source=sshvolume,destination=/swarm-data …

sshfs docker

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