XML解析错误(Java)
嗨,我在点击按钮时遇到异常错误。我无法得到解决办法。 这是我的代码:- java:-XML解析错误(Java),java,xml,xml-parsing,Java,Xml,Xml Parsing,嗨,我在点击按钮时遇到异常错误。我无法得到解决办法。 这是我的代码:- java:- JButton btnx1y1 = new JButton(">"); btnx1y1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { String fileP
JButton btnx1y1 = new JButton(">");
btnx1y1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String filePath = "C:\\Users\\Admin\\workspace\\generator\\data\\f.xml";
File inputFile = new File(filePath);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document document = dBuilder.parse(inputFile);
Node control = document.getElementsByTagName("control").item(0);
NamedNodeMap attr = control.getAttributes();
Node nodeAttr = attr.getNamedItem("xpos");
nodeAttr.setTextContent(str201x);
attr.getNamedItem("ypos").setTextContent(str201y);
NodeList list = control.getChildNodes();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer= transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result=new StreamResult(new File(filePath));
transformer.transform(source, result);
StreamResult consoleResult = new StreamResult(System.out);
transformer.transform(source, consoleResult);
}catch (Exception e1){
e1.printStackTrace();
}
}
});
<control name="control_200" xpos="233" ypos="25" width="60" type="float" format="%7.2f" refvar="gud/_ZSFR[29]" hotlink="true">
从文本字段中选取值:-
对于x坐标
textR201x = new JTextField();
String str201x=textR201x.getText();
str201x="";
textR201y = new JTextField();
String str201y=textR201y.getText();
str201y="";
y坐标
textR201x = new JTextField();
String str201x=textR201x.getText();
str201x="";
textR201y = new JTextField();
String str201y=textR201y.getText();
str201y="";
XML节点更新xpos和ypos的值:-
JButton btnx1y1 = new JButton(">");
btnx1y1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String filePath = "C:\\Users\\Admin\\workspace\\generator\\data\\f.xml";
File inputFile = new File(filePath);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document document = dBuilder.parse(inputFile);
Node control = document.getElementsByTagName("control").item(0);
NamedNodeMap attr = control.getAttributes();
Node nodeAttr = attr.getNamedItem("xpos");
nodeAttr.setTextContent(str201x);
attr.getNamedItem("ypos").setTextContent(str201y);
NodeList list = control.getChildNodes();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer= transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result=new StreamResult(new File(filePath));
transformer.transform(source, result);
StreamResult consoleResult = new StreamResult(System.out);
transformer.transform(source, consoleResult);
}catch (Exception e1){
e1.printStackTrace();
}
}
});
<control name="control_200" xpos="233" ypos="25" width="60" type="float" format="%7.2f" refvar="gud/_ZSFR[29]" hotlink="true">
此is中显示错误-在封闭范围中定义的局部变量str200x必须是final或有效final。我在解决这个问题时遇到了麻烦。您没有显示代码的正确部分。错误消息中提到了变量
str200x
,我在示例中的任何地方都看不到它。此外,我建议您检查是否未将值重新分配给已声明的类变量final
@potameNode nodeAttr=attr.getNamedItem(“xpos”);nodeAttr.setTextContent(str201x)代码>@potame全部完成,工作正常感谢您的建议。