Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML解析器的Java问题_Java_Xml - Fatal编程技术网

XML解析器的Java问题

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

我想解析XML文件并分别使用节点的值。 我已经创建了解析器和pojo类

我想用节点中的对象创建ArrayList。例如,我想使用Object[1]用户名值(root)

这是我的XML:

 <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;
}
}