小编MrW*_*d54的帖子

XPath,XML命名空间和Java

我花了一天时间尝试从以下文档中提取一个XML节点,并且无法掌握XML命名空间的细微差别以使其工作.

XML文件很大,总共发布,所以这是我关注的部分:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<XFDL xmlns="http://www.PureEdge.com/XFDL/6.5" xmlns:custom="http://www.PureEdge.com/XFDL/Custom" xmlns:designer="http://www.PureEdge.com/Designer/6.1" xmlns:pecs="http://www.PureEdge.com/PECustomerService" xmlns:xfdl="http://www.PureEdge.com/XFDL/6.5">
   <globalpage sid="global">
      <global sid="global">
         <xmlmodel xmlns:xforms="http://www.w3.org/2003/xforms">
            <instances>
               <xforms:instance id="metadata">
                  <form_metadata>
                     <metadataver version="1.0"/>
                     <metadataverdate>
                        <date day="05" month="Jul" year="2005"/>
                     </metadataverdate>
                     <title>
                        <documentnbr number="2062" prefix.army="DA" scope="army" suffix=""/>
                        <longtitle>HAND RECEIPT/ANNEX NUMBER </longtitle>
                     </title>
Run Code Online (Sandbox Code Playgroud)

该文件继续存在并且形成良好.我试图从"documentnbr"标签中提取"数字"属性(从底部三个).

我用来执行此操作的代码如下所示:

/***
     * Locates the Document Number information in the file and returns the form number.
     * @return File's self-declared number.
     * @throws InvalidFormException Thrown when XPath cannot find the "documentnbr" element in the file.
     */
    public String …
Run Code Online (Sandbox Code Playgroud)

java xfdl xpath xml-namespaces

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

使用Realm.io存储货币价值

我正在开始在我正在编写的Android应用程序中使用Realm.io.在我的一个数据对象中,我需要存储货币值.以前我在内部将值存储为BigDecimal值,然后在进出数据库时将值转换为double值.

我一直被告知,由于处理它们的方式,将货币值存储在double中是个坏主意.不幸的是,Realm.io不支持存储和检索BigDecimal对象.

编写我自己的扩展RealmObject的货币类并将其作为数据对象的成员变量保留的最佳解决方案是什么?

java android realm

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

无法用Dagger 2注入课程

我正在尝试将Dagger 2添加到我的Android项目中.我想我理解了构建图形的概念.那时我正在黑暗中拍摄,这就是我出错的地方.
所有内容都会编译,但在运行时注入的字段为空.

我试图通过将Presenter注入我的MainActivity来开始.我已经编写了以下代码,并希望得到一些帮助,找出我出错的地方.

我的PresenterModule.java:

@Module
public class PresenterModule {

  @Provides MainActivityPresenter providesMainActivityPresenter() {
    return new DefaultMainActivityPresenter();
  }
}
Run Code Online (Sandbox Code Playgroud)

我的Application类,它还包含遵循Dagger2示例代码的Component:

public class App extends Application {

  private PresenterComponent component;

  @Singleton
  @Component(modules = PresenterModule.class)
  public interface PresenterComponent {
    void inject(App app);
    void inject(MainActivity activity);
  }


  @Override public void onCreate() {
    Log.d("App.java", "Starting Application");
    super.onCreate();

    component = DaggerApp_PresenterComponent.builder()
        .presenterModule(new PresenterModule())
        .build();
    component.inject(this);
  }

  public PresenterComponent component() {
    return component;
  }
}
Run Code Online (Sandbox Code Playgroud)

最后我的MainActivity.

public class DefaultMainActivity
    extends ActionBarActivity
    implements MainActivity
{
  @Inject MainActivityPresenter …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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

Golang Base64编码用户密码的SHA256摘要

我正在尝试完成Top Code Go学习挑战作为学习去的工具.我目前正在研究他们的Simple API Web Server问题.部分问题要求您加密密码字符串,如"'{SHA256}'+ Base64编码SHA256用户密码摘要"

我使用以下代码执行此操作,但结果与提供的测试用例不匹配.

import (
    "encoding/base64"
    "crypto/sha256"
)

func encrtyptPasswords(password string) string {
    h := sha256.New()
    return "{SHA256}" + 
       string(base64.StdEncoding.EncodeToString(h.Sum([]byte(password))))
}
Run Code Online (Sandbox Code Playgroud)

对于abcd1234的输入,它应加密到:{SHA256} 6c7nGrky_ehjM40Ivk3p3-OeoEm9r7NCzmWexUULaa4 =

但我得到{SHA256} YWJjZDEyMzTjsMRCmPwcFJr79MiZb7kkJ65B5GSbk0yklZkbeFK4VQ ==.我怀疑我使用加密库是错误的,但我不确定我应该使用什么,因为这似乎是SHA256的标准库加密方法.

hash cryptography sha256 go

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

Golang 陷入 WaitGroup 困境

我陷入了自己的等待循环,不太清楚为什么。该函数采用输入和输出通道,然后采用通道中的每个项目,对内容执行 http.GET 并从 html 中提取标签。

\n\n

GET 和抓取的过程位于 go 例程内,并且我设置了一个等待组 (innerWait) 以确保在关闭输出通道之前我已处理完所有内容。

\n\n
   func (fp FeedProducer) getTitles(in <-chan feeds.Item,\n    out chan<- feeds.Item,\n    wg *sync.WaitGroup) {\n\n    defer wg.Done()\n\n    var innerWait sync.WaitGroup\n\n    for item := range in {\n        log.Infof(fp.c, "Incrementing inner WaitGroup.")\n        innerWait.Add(1)\n        go func(item feeds.Item) {\n            defer innerWait.Done()\n            defer log.Infof(fp.c, "Decriment inner wait group by defer.")\n            client := urlfetch.Client(fp.c)\n            resp, err := client.Get(item.Link.Href)\n            log.Infof(fp.c, "Getting title for: %v", item.Link.Href)\n            if err != nil {\n                log.Errorf(fp.c, "Error retriving page. %v", err.Error())\n                return\n …
Run Code Online (Sandbox Code Playgroud)

google-app-engine go

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