如何在VTD Xpath查找上输入名称空间前缀

我正在构建基于VTD的XML解析引擎,以便处理来自多个输入系统的文件。 我目前正在尝试从带有命名空间前缀的标签中获取值: CLIENT NAME 1 并查询以下Xpath: //client/age/text() //client/name/text() 如何设置VTD AutoPilot忽略名称空间前缀? 注意 :我无法更改xpath,因为我已经使用JDK的默认xpath引擎实现了这个引擎。 更新 :请参阅下面我用来测试的代码。 文件类似于顶部的文件: @Test public void doFile() throws Exception { byte[] xmlData = FileUtils.loadFile(“namespace-test.xml”); VTDGen gen = new VTDGen(); gen.setDoc(xmlData); gen.parse(false); VTDNav vtd = gen.getNav(); AutoPilot pilot = new AutoPilot(vtd); pilot.selectXPath(“//clients”); int re = pilot.evalXPath(); System.out.println(re); if (re >= 0) { System.out.println(vtd.toString(re)); } […]

Java:JTable更改侦听器,“对象无法转换为字符串”错误

我有一个JTable ,以及一个应该控制程序对各种动作的响应的类,我写的第一个是用于单元格更改事件。 每行都是从Part对象生成的,并且每列的列类都相应地设置。 Part(String partName, String make, String partNumber, String altPartNumber, Double price, Integer quantity, String description, Boolean isAutomotive, Boolean isMarine, Boolean isIndustrial) { //…code not shown… } 零件对象存储在可序列化的ArrayList 。 本质上,事件处理代码需要做的是使用从JTable获得的更新数据更新此ArrayList特定部件对象的参数值。 下面的代码演示了我想如何做到这一点; 这里出现标题中提到的错误。 任何人都可以解释如何处理这个问题? public class EventController extends UI implements TableModelListener { // Declarations: private int row; private int column; private Part partToChange; // …Omitted […]

Vaadin网格 – 使用延迟加载进行过滤

我有vaadin网格,它很好,它从框中加载了懒惰的数据。 但由于某些原因,我有自定义filter,我通过它使用 CallbackDataProvider dataProvider.fetch(Query query) 查询对象具有按部分加载的参数( offset和limit ),因此我需要动态设置它(?)并以某种方式监听网格滚动事件以在用户向下滚动时加载下一部分数据(?) Grid.dataComunicator具有字段Range pushRows但没有公共方法来获取它。 我所拥有的只是延迟加载的网格,没有过滤数据或带有过滤数据的急切加载网格。 那么,有没有办法在vaadin网格元素中实现延迟加载的过滤数据?

以编程方式填充JPasswordField而不创建String对象

有没有一种简单的方法来填充JPasswordField的文档而不创建包含密码的String对象? 我试图创建一个“更改密码”对话框,该对话框接收旧密码并要求输入新密码两次(三个密码字段),其中旧密码可以事先知道,具体取决于用户配置的方式(密码可能已存储)。 因此,每次向她显示相关对话框时,不要求用户输入现有密码,我想以编程方式填写它。 请注意, JPasswordField.setText(String)和String构造函数不是一个选项。 我想用char数组做这个。 我一直试图滥用似乎由PlainDocument使用的PlainDocument ,但它似乎不起作用(字符在那里,但字段已损坏): import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import javax.swing.JFrame; import javax.swing.JPasswordField; import javax.swing.text.PlainDocument; import javax.swing.SwingUtilities; import javax.swing.text.GapContent; public class FillJPasswordField extends JFrame { private JPasswordField pass; public FillJPasswordField() { setLayout(new GridBagLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); char[] password = new char[]{‘p’, ‘a’, ‘s’, ‘s’, ‘w’, ‘o’, ‘r’, ‘d’}; PlainDocument doc = new […]

如何用按钮停止循环?

我正在编写一个程序,在单击开始按钮时启动循环,我想用停止按钮停止它。 问题是循环启动按钮在循环完成之前不起作用。 我已经搜索了类似的问题,并且理解问题是循环是在actionPerformed但我无法设法在actionPerformed之外采取循环。 我已经尝试过制作一个新的课程,并要求它等,但完全相同的事情发生了。 顺便说一句,我是Java的初学者,也是stackoverflow,如果我做错了,我很抱歉。 简单的代码: OtherClass obj; public void actionPerformed(ActionEvent e) { if(e.getSource() == startButton) { while(true) { obj = new OtherClass(); obj.doJob(); } else if(e.getSource() == stopButton) { obj.stopLoop(); } } public class OtherClass { private boolean isStopped = false; public OtherClass() { } public void doJob(){ while(true) { //loop… if(isStopped) { break; […]

如何将多个对象写入文件?

我想将多个对象写入文件,但问题是我没有一次写入所有对象。 我必须写一个对象然后关闭文件,然后可能在一段时间之后我想将另一个对象添加到同一个文件中。 我目前正在将其作为FileOutputStream(“filename”, true)因此它会将对象附加到文件末尾而不会覆盖它。 但我得到这个错误: java.io.StreamCorruptedException:无效的类型代码:AC 任何想法如何解决这个问题? 谢谢,

为什么比较两个整数使用==有时工作,有时不工作?

我知道我正在比较参考,而我正在使用==这不是一个好主意,但我不明白为什么会发生这种情况。 Integer a=100; Integer b=100; Integer c=500; Integer d=500; System.out.println(a == b); //true System.out.println(a.equals(b)); //true System.out.println(c == d); //false System.out.println(c.equals(d)); //true

无法使用java从xml中读取特殊字符

当我尝试使用SAX解析器从java读取xml时,它无法读取特殊字符后出现的元素中的内容 例如: It’s too difficult 使用SAX解析器读取后,它只显示它 如何处理特殊字符。 我的示例代码如下 package com.test.java; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class ReadXMLUsingSAXParser { public static void main(String argv[]) { try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); DefaultHandler handler = new DefaultHandler() { int titleCount; boolean title = false; boolean description = […]

BitmapFactory.decodeByteArray()始终返回null(手动创建的字节数组)

所以我试图从同事那里获取一些C ++代码,这些代码通过Bluetoth串口抓取图像数据(我使用的是Android手机)。 从数据我需要生成一个位图。 在测试移植的代码之前,我写了这个快速函数来主动生成一个纯红色矩形。 但是,BitmapFactory.decodeByteArray()始终失败并返回null位图。 我已经检查了它可以抛出的两个可能的exeptions并且没有一个被抛出。 byte[] pixelData = new byte[225*160*4]; for(int i = 0; i < 225*160; i++) { pixelData[i * 4 + 0] = (byte)255; pixelData[i * 4 + 1] = (byte)255; pixelData[i * 4 + 2] = (byte)0; pixelData[i * 4 + 3] = (byte)0; } Bitmap image = null; logBox.append("Creating bitmap […]

如何从Java文件中调用PHP类成员函数?

我正在使用PHP / Java桥在Tomcat服务器上运行PHP脚本。 有人能指出我如何从Java文件调用我的PHP脚本的示例。 现在我想通过Java文件使用其对象调用类X的成员函数。 我该怎么做呢? 我想使用Java文件实现multithreading,并在单独的线程上调用多个PHP函数。