XML解析器的Java问题
我想解析XML文件并分别使用节点的值。 我已经创建了解析器和pojo类 我想用节点中的对象创建ArrayList。例如,我想使用Object[1]用户名值(root) 这是我的XML:XML解析器的Java问题,java,xml,Java,Xml,我想解析XML文件并分别使用节点的值。 我已经创建了解析器和pojo类 我想用节点中的对象创建ArrayList。例如,我想使用Object[1]用户名值(root) 这是我的XML: <Class> <Nodes> <node id="1"> <username>root</username> <password>blabla</password> &l
<Class>
<Nodes>
<node id="1">
<username>root</username>
<password>blabla</password>
<hostname>222.222.222.222</hostname>
<port>50</port>
<node_dir>/usr/etc</node_dir>
<pc_dir>C:\Users\bla\Desktop\bla</pc_dir>
</node>
<node id="2">
<username>blabla</username>
<password>ooo</password>
<hostname>111.117.111.111</hostname>
<port>30</port>
<node_dir>/usr/etc</node_dir>
<pc_dir>C:\Users\bla\Desktop\bla</pc_dir>
</node>
</Nodes>
</Class>
你的问题是什么?如何做:我想用节点中的对象创建ArrayList。例如,我想使用Object[1]用户名值(root)。为每个节点创建一个
NodeModel
实例,并将其添加到列表中。你应该与命名保持一致。有时编写nodeModel
,然后编写nodeModel
。您的反序列化
类扩展节点模型
的原因是什么。你的问题需要改进。谢谢你的指导。但是你能帮我怎么做吗?因为我正在努力,但我已经犯了1000个错误@你的问题是什么?怎么做:我想用节点中的对象创建ArrayList。例如,我想使用Object[1]用户名值(root)。为每个节点创建一个NodeModel
实例,并将其添加到列表中。你应该与命名保持一致。有时编写nodeModel
,然后编写nodeModel
。您的反序列化
类扩展节点模型
的原因是什么。你的问题需要改进。谢谢你的指导。但是你能帮我怎么做吗?因为我正在努力,但我已经犯了1000个错误@万杰
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import com.abc.sftpNew.NodeModel.nodeModel;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
import java.util.ArrayList;
public class deserialize extends nodeModel {
public static ArrayList<nodeModel> readXml() {
ArrayList<nodeModel> objekt = new ArrayList<nodeModel>();
try {
nodeModel nov = new nodeModel();
File fXmlFile = new File("input.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList listOfPersons = doc.getElementsByTagName("node");
int totalNodes = listOfPersons.getLength();
System.out.println("Total number of nodes : " + totalNodes);
System.out.println("---------------------------------------");
System.out.println("Root element :" +
doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("node");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("Current Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Node id: " + eElement.getAttribute("id"));
nov.setNode(eElement.getAttribute("id"));
System.out.println("Username: " +
eElement.getElementsByTagName("username").item(0).getTextContent());
nov.setUsername(eElement.getElementsByTagName("username").item(0)
.getTextContent());
System.out.println("Password: " +
eElement.getElementsByTagName("password").item(0)
.getTextContent());
nov.setPassword(eElement.getElementsByTagName("password").item(0)
.getTextContent());
System.out.println("Hostname: " +
eElement.getElementsByTagName("hostname").item(0)
.getTextContent());
nov.setHostname(eElement.getElementsByTagName("hostname").item(0)
.getTextContent());
System.out.println("Port: " + eElement.getElementsByTagName("port").item(0).getTextContent());
nov.setPort(Integer.parseInt(eElement.getElementsByTagName("port").item(0).getTextContent()));
System.out.println("Directory on the server: "
+ eElement.getElementsByTagName("nodeDirectory").item(0).getTextContent());
nov.setNodeDirectory(eElement.getElementsByTagName("nodeDirectory").item(0).getTextContent());
System.out.println("Directory on the computer: "
+ eElement.getElementsByTagName("pcDirectory").item(0).getTextContent());
nov.setPcDirectory(eElement.getElementsByTagName("pcDirectory").item(0).getTextContent());
System.out.println(
"Time interval: " + eElement.getElementsByTagName("timeInterval").item(0).getTextContent());
nov.setTimeInterval(
Integer.parseInt(eElement.getElementsByTagName("timeInterval").item(0).getTextContent()));
System.out.println("--------------------------------------------------------------------");
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
public class NodeModel {
private String username;
private String localhost;
private int port;
private String hostname;
private String node_dir;
private String pc_dir;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getLocalhost() {
return localhost;
}
public void setLocalhost(String localhost) {
this.localhost = localhost;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public String getNode_dir() {
return node_dir;
}
public void setNode_dir(String node_dir) {
this.node_dir = node_dir;
}
public String getPc_dir() {
return pc_dir;
}
public void setPc_dir(String pc_dir) {
this.pc_dir = pc_dir;
}
}