小编jvh*_*she的帖子

如何解析无效(错误/不良格式)的XML?

目前,我正在开发一项功能,涉及解析从另一个产品收到的XML.我决定对一些实际的客户数据进行一些测试,看起来其他产品允许来自用户的输入被认为是无效的.无论如何,我仍然需要尝试找出解析它的方法.我们正在使用javax.xml.parsers.DocumentBuilder,我收到的输入错误如下所示.

<xml>
  ...
  <description>Example:Description:<THIS-IS-PART-OF-DESCRIPTION></description>
  ...
</xml>
Run Code Online (Sandbox Code Playgroud)

正如您所知,描述中的内容似乎是无效的标记(<THIS-IS-PART-OF-DESCRIPTION>).现在,已知此描述标记是叶标记,并且不应在其中包含任何嵌套标记.无论如何,这仍然是一个问题,并产生例外DocumentBuilder.parse(...)

我知道这是无效的XML,但它可以预测无效.有关解析此类输入的方法的任何想法?

java xml xml-validation xml-parsing

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

surfaceCreated()从不调用

我已经看到了类似的问题,但我仍然无法找到解决方案.我对Android开发很新,所以我无法追踪我的问题.无论如何,我正在尝试使用我创建的CameraSurfaceView类来创建相机预览,该类扩展了SurfaceView并实现了SurfaceHolder.Callback.无论我在StartCamera类中尝试什么,都不会调用surfaceCreated()方法,因此我的相机永远不会启动.任何帮助都会很棒,谢谢!

StartCamera.java

import net.peterd.zombierun.R;
import android.hardware.Camera;
import android.os.Bundle;
import android.widget.FrameLayout;

public class StartCamera extends BaseActivity {

    private Camera mCamera;
    private CameraSurfaceView mView;

    public void onCreate(Bundle state) {
        // TODO Auto-generated constructor stub
        super.onCreate(state);
        setContentView(R.layout.start_camera);
    }

    public void onResume() {
        super.onResume();

        mView = new CameraSurfaceView(this);
        FrameLayout preview = (FrameLayout) findViewById(R.id.cPreview);
        preview.addView(mView);
    }

    public void onPause() {
        mCamera.stopPreview();
        mCamera.release();
    }

}
Run Code Online (Sandbox Code Playgroud)

CameraSurfaceView.java

import java.io.IOException;
import android.content.Context;
import android.hardware.Camera;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraSurfaceView extends SurfaceView implements SurfaceHolder.Callback
{
        private SurfaceHolder …
Run Code Online (Sandbox Code Playgroud)

camera android preview surfaceview

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

将Docker运行容器ID管道传输到docker exec

在我的开发中,我发现自己经常在生成的容器ID上发出docker run命令,然后发出命令docker exec。必须在命令之间复制/粘贴容器ID有点烦人,因此我试图将容器ID传递到docker exec命令中。

这是我的示例命令。

docker run -itd image | xargs -i docker exec -it {} bash

这将启动容器,但是随后出现以下错误。

the input device is not a TTY
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

编辑:我也忘了提我定义了一个ENTRYPOINT,并且不能覆盖它。

bash pipe exec docker

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

标签 统计

android ×1

bash ×1

camera ×1

docker ×1

exec ×1

java ×1

pipe ×1

preview ×1

surfaceview ×1

xml ×1

xml-parsing ×1

xml-validation ×1