小编poo*_*lie的帖子

在Android xpath中"TransformerException:一个预期的位置步骤"

我一直试图从xml文件中提取数据,但我一直收到这个错误,我不知道我做错了什么.

10-23 14:20:29.250: WARN/System.err(3541): --------------- linked to ------------------
10-23 14:20:29.250: WARN/System.err(3541): javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: A location step was expected following the '/' or '//' token.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

String pill;

        URL url = new URL("file:///mnt/sdcard/cpdata/cpxml.xml");
        InputSource xml = new InputSource(url.openStream());
        XPath xpath = XPathFactory.newInstance().newXPath();


        pill = xpath.evaluate("//data/monday/p1/",xml);
        pills.add(pill);
        Log.d("PILLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", pill);
        tv.setText(pill + "hi");
Run Code Online (Sandbox Code Playgroud)

这是我的xml文档:

-<data> 
  -<monday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
  </monday> 
  -<tuesday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
  </tuesday> 
  -<wednesday> 
    <p1>1.0</p1> 
    <p2>test1</p2> 
</wednesday> 
-<thursday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</thursday> 
-<friday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</friday> 
-<saturday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</saturday> 
-<sunday> 
    <p1>test1</p1> 
    <p2>test1</p2> 
</sunday> 
Run Code Online (Sandbox Code Playgroud)

xml xpath android

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

在Java中循环遍历数组的前20个元素

我在这里有这个循环

 for(int i =0; i < prices.length; i++)
  {
        if(prices[i]>largest)
        {
            largest = prices[i];
        }

        else if(prices[i]<smallest)
        {
            smallest= prices[i];
        }
  }
Run Code Online (Sandbox Code Playgroud)

它遍历整个数组并找到最小值和最大值.说我想只循环前20个元素我该怎么做?我试着在这个for循环下放置一个嵌套循环,看看我是否遇到过它,但我不能.

java arrays loops

7
推荐指数
4
解决办法
8万
查看次数

如何在 Rust 中注释空切片的类型?

假设我想Vec<String>在测试中将 a 与文字空列表进行比较。

(我知道在实践中我可以检查is_empty(),但我想了解 Rust 类型在这里是如何工作的,我认为如果失败,断言相等会给出更清晰的信息。)

如果我只是说

    let a: Vec<String> = Vec::new();
    assert_eq!(a, []);
Run Code Online (Sandbox Code Playgroud)

得到一个错误的是

error[E0282]: type annotations needed
 --> src/main.rs:3:5
  |
3 |     assert_eq!(a, []);
  |     ^^^^^^^^^^^^^^^^^^ cannot infer type
  |
  = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
Run Code Online (Sandbox Code Playgroud)

我认为问题是 rustc 无法判断我的意思是空列表String还是空列表&str或其他内容?

如何将所需的类型注释添加到[]文字上?

这是否取决于尚未稳定的类型归属特征,还是有一种稳定的方式来指定这一点?

unit-testing assert rust

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

pylint'disable'和'disable-msg'之间有什么区别?

我看到了一些代码

# pylint: disable=W0123
Run Code Online (Sandbox Code Playgroud)

还有一些

# pylint: disable-msg=W0123
Run Code Online (Sandbox Code Playgroud)

他们只是同义词吗?

python pylint

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

无法在Google应用引擎启动器中部署:googlecloudsdk.core.credentials.store.RefreshError:invalid_grant

我已经测试和部署我的应用程序2周没有问题.昨天,单击Deploy按钮后出现此错误消息.我也尝试使用命令行(appcfg.py update applicationname)进行部署,我得到了相同的消息.应用程序正在运行,GAE浏览器没有错误.

这是日志的最后一行.

googlecloudsdk.core.credentials.store.RefreshError: invalid_grant
Run Code Online (Sandbox Code Playgroud)

完整的信息在这里

Traceback (most recent call last):
  File "C:\google-cloud-sdk\bin\appcfg.py", line 32, in <module>
    bootstrapping.PrerunChecks()
  File "C:\google-cloud-sdk\bin\bootstrapping\bootstrapping.py", line 436, in PrerunChecks
    CheckCredOrExit(can_be_gce=can_be_gce)
  File "C:\google-cloud-sdk\bin\bootstrapping\bootstrapping.py", line 302, in CheckCredOrExit
    cred = c_store.Load()
  File "C:\google-cloud-sdk\bin\bootstrapping\..\..\lib\googlecloudsdk\core\credentials\store.py", line 205, in Load
    Refresh(cred)
  File "C:\google-cloud-sdk\bin\bootstrapping\..\..\lib\googlecloudsdk\core\credentials\store.py", line 229, in Refresh
    raise RefreshError(e)
googlecloudsdk.core.credentials.store.RefreshError: invalid_grant
Run Code Online (Sandbox Code Playgroud)

google-app-engine

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

如何在Rust FFI中发布常量字符串?

我想让Rust库const char *向C 公开一个静态字符串,以便与现有接口(特别是librsync)兼容.也就是说,C头文件有

extern char const *my_string;
Run Code Online (Sandbox Code Playgroud)

在C中,图书馆就是这样

char const *my_string = "hi";
Run Code Online (Sandbox Code Playgroud)

在Rust我尝过类似的东西

pub static my_string: *const libc::c_char = unsafe { "hi\0" as *const libc::c_char };
Run Code Online (Sandbox Code Playgroud)

但这抱怨

error: casting `&'static str` as `*const i8` is invalid
Run Code Online (Sandbox Code Playgroud)

似乎我不能使用CString等因为它们不是编译时常量表达式.

ffi rust

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

为什么分配给'NaN`或`undefined`会导致TypeError?

AS:问题是关于错误的类型,而不是关于这种现象

"use strict"如果系统变量喜欢NaN并且undefined已经改变,则抛出TypeError .
但为什么它是类型错误?为什么不语法错误?


编辑:实际上,这里不是SyntaxError,因为代码段的语法没有错误.
但错误的根源在于,某些受保护对象无法手动更改 ; 所以,它是访问错误(没有这样的,我知道).
那么,为什么访问错误看起来像type-one?

javascript typeerror

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

如何通过两级路由器向上转发端口

我正在使用java sbbi库来转发端口.但我的路由器被连接到另一个路由器,所以第一个路由器的外部IP是由第二个路由器dhcp给出的ip.有没有办法转发第二个路由器上的端口?这是我的代码:

InternetGatewayDevice[] devices=InternetGatewayDevice.getDevices( 1000 );
System.out.println("Found "+devices.length+" Devices");
InternetGatewayDevice dev = devices[ 0 ];
System.out.println(dev);
System.out.println( "External IP = " + dev.getExternalIPAddress() );

System.out.println( dev.addPortMapping( "Streamternet", "TCP", null, 1333,
                                        "192.168.0.105", 8888, 0 ) );

System.out.println( "waiting for connection" );
HTTPServer.main(null);
Run Code Online (Sandbox Code Playgroud)

java port networking upnp nat

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

为什么Google建议将库复制到树中?

Google 关于使用Play服务API说明(例如)说:

将/ extras/google/google_play_services/libproject/google-play-services_lib库项目复制到您维护Android应用项目的源树中.

注意:您应该引用复制到源树的库的副本 - 您不应该从Android SDK目录引用该库.

这对我来说似乎很难看 - 为什么不从SDK目录中引用它?这有什么技术原因吗?或者是否可以明确控制何时升级?

android google-play-services

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

如何内省 Python 中所有有效的 protobuf 枚举值?

假设我有一个 protobuf

enum Color {
  RED = 0;
  GREEN = 1;
  BLUE = 2;
};
Run Code Online (Sandbox Code Playgroud)

我如何从 Python 获取所有已定义值和/或名称的列表?

python protocol-buffers

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