问题列表 - 第22516页

PHP SimpleXML递归函数,用于列出子项和属性

我需要一些关于SimpleXML调用的帮助,以获得一个列出元素名称和属性的递归函数.制作XML配置文件系统,但每个脚本都有自己的配置文件以及新的命名约定.所以我需要的是一种简单的方法来映射所有具有属性的元素,所以在示例1中我需要一种简单的方法来调用所有进程,但我不知道如何在没有硬编码的情况下执行此操作.函数调用.有没有办法递归调用函数来匹配子元素名称?我确实看到了xpath功能,但我没有看到如何将它用于属性.

示例中的XML看起来也是正确的吗?我可以像这样构建我的XML吗?

例1:

<application>
  <processes>
    <process id="123" name="run batch A" />
    <process id="122" name="run batch B" />
    <process id="129" name="run batch C" />
  </processes>
  <connections>
    <databases>
      <database usr="test" pss="test" hst="test" dbn="test" />
    </databases>
    <shells>
      <ssh usr="test" pss="test" hst="test-2" />
      <ssh usr="test" pss="test" hst="test-1" />
    </shells>
  </connections>
</application>
Run Code Online (Sandbox Code Playgroud)

例2:

<config>
  <queues>
    <queue id="1" name="test" />
    <queue id="2" name="production" />
    <queue id="3" name="error" />
  </queues>
</config>
Run Code Online (Sandbox Code Playgroud)

伪代码:

// Would return matching process id
getProcess($process_id) {
  return the process attributes as array that …
Run Code Online (Sandbox Code Playgroud)

php xml recursion configuration simplexml

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

Git存储在原点中的别名

我和一个大型开发团队一起使用git,我希望每个开发人员都能拥有一组别名.它们经常变化,所以我想以某种方式将它们存储在原点.有没有办法在git中设置它?我正在为git服务器使用gitosis(不确定这是否会产生影响).

git gitosis

6
推荐指数
2
解决办法
805
查看次数

是否有丢弃的呼叫监听器

Android SDK是否能够捕获Dropped Call事件?如果是这样,它叫什么?我一直在寻找它的文档.

挂机和挂断电话之间有区别吗?

android

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

创建一个在Ruby中使用额外参数的setter方法

我正在尝试编写一个充当setter的方法,除了赋值之外还需要一些额外的参数.愚蠢的例子:

class WordGenerator
  def []=(letter, position, allowed)
    puts "#{letter}#{allowed ? ' now' : ' no longer'} allowed at #{position}"
  end

  def allow=(letter, position, allowed)
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)

把它写成索引器是有效的,我可以像这样调用它:

gen = WordGenerator.new

gen['a', 1] = true
# or explicitly:
gen.[]=('a', 1, true)
Run Code Online (Sandbox Code Playgroud)

但当我尝试以下任何一种情况时,口译员会抱怨:

gen.allow('a', 1) = false # syntax error
gen.allow=('a', 1, false) # syntax error
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用,我错过了显而易见的事吗?

ruby methods setter indexer

18
推荐指数
2
解决办法
3376
查看次数

如果存在注册表项,则Wix有条件地安装组件

我有一个组件,我需要安装只有存在注册表项,这意味着已经安装了一个应用程序.

我需要将注册表项的值(它是一个目录)分配给属性,然后使用此属性从中复制文件.

到目前为止,我有以下脚本,但出现错误"系统无法找到文件'[MYTESTDIR] fileToCopy.dat'."

真的很感激任何帮助.

<Property Id="MYTESTDIR">
    <RegistrySearch Id="NetFramework20"
            Root="HKLM"
            Key="SOFTWARE\TEST\VALUE\1.00"
            Name="MyName"
            Type="directory" />
</Property>

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
        <Directory Id="TEST" Name="Test">       
            <Component Id="MyComponent" Guid="E5FF53DE-1739-42c4-BE37-60F810C9CD69">
              <Condition>MYTESTDIR</Condition>
              <File Id="fileToCopy.dat" Name="fileToCopy.dat" Source="[MYTESTDIR]fileToCopy.dat">
                  <CopyFile Id="fileToCopy.datCopy" DestinationProperty="WEBSERVICEBINFOLDER" />
              </File>

        </Directory>            
    </Directory>
</Directory>

<Feature Id="MyFeature" Title="MyFeature" Level="1">
    <ComponentRef Id="MyComponent" />
</Feature>
Run Code Online (Sandbox Code Playgroud)

installer wix

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

是返回x ++的行为; 界定?

如果我有一个带有实例方法和变量的类

class Foo
{

   ...

   int x;
   int bar() { return x++; }
 };
Run Code Online (Sandbox Code Playgroud)

是否定义了返回后递增变量的行为?

c++ return post-increment

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

在Visual Studio 2008 ASP.NET Web窗体中防止复制粘贴时自动生成ID

如果我在ASP.NET Web窗体中有以下内容:

<asp:TextBox runat="server" ID="tbxUser"/>
Run Code Online (Sandbox Code Playgroud)

我将该行复制并粘贴到同一页面中,我通常会得到以下内容:

<asp:TextBox runat="server" ID="TextBox1"/>
Run Code Online (Sandbox Code Playgroud)

显然,没有人会以这种方式命名他们的控件(如果你不想命名文本框,只是不要将ID设置为它),并且不得不更改粘贴控件的ID.如果我复制没有显式ID的控件也会发生同样的情况,VS只为我生成一个.

当我复制粘贴ASP.NET代码时,有没有办法阻止VS自动生成ID?

asp.net copy-paste visual-studio-2008

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

存储过程执行非常严重 - 增加超时或修复问题

我继承了第三方编写的前端.该前端通过不同第三方编写的程序与Oracle交互.有问题的存储过程需要2分36秒才能在手动执行时返回搜索结果.我看不到该过程,该团队建议我增加Web应用程序中的超时(托管在共享服务器上).

在我的世界中,超过30秒的任何事情都需要在部署到生产之前进行性能修复,只有少数例外(遗留代码,疯狂报告等).建议给我的选项是将超时从30秒(由前端开发人员明确添加)增加到180秒.

我向您提出的问题: 采用简单方法和增加超时有什么风险?如果可能,请提供支持您观点的文章的链接,以便我可以参考.

如果你认为这是一个非问题,也可以随意加入.

sql oracle performance

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

如何在Java中自动记录任何@Deprecated annoted方法的使用?

我目前正在log4j上使用slf4j进行日志记录.我想在我的代码中自动记录任何使用不推荐使用的方法(使用标准的@Deprecated注释注释).

有没有简单的方法来做到这一点?

java logging annotations

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

内部编译器错误和boost :: bind

我正在测试一个C++类,其中包含许多基本相同形式的函数:

ClassUnderTest t;

DATATYPE data = { 0 };
try
{
    t.SomeFunction( &data );
}
catch( const SomeException& e )
{
    // log known error
}
catch( ... )
{
    // log unknown error
}
Run Code Online (Sandbox Code Playgroud)

由于有很多这些,我以为我会写一个功能来完成大部分繁重的工作:

template< typename DATA, typename TestFunction >
int DoTest( TestFunction test_fcn )
{
    DATA data = { 0 };
    try
    {
        test_fcn( &data );
    }
    catch( const SomeException& e )
    {
        // log known error
        return FAIL;
    }
    catch( ... )
    {
        // log unknown …
Run Code Online (Sandbox Code Playgroud)

c++ boost bind c1001

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