Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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_Arrays_Xml - Fatal编程技术网

要将xml解析为java对象吗

要将xml解析为java对象吗,java,arrays,xml,Java,Arrays,Xml,在我的例子中,它不是完整的xml,而是我想要解析要解析的xml标记的一部分 <FILTERABLE> <FILTER_ELEMENT ALIAS_NAME="roomnumber" JOINER="AND" LPAREN="false" OPERATOR="BEGINS" RPAREN="false" SEQNUM="1" VALUE="1001"/> </FILTERABLE> 需要一个java对象作为下面包含的一对哈希映射 FILTER_ELEM

在我的例子中,它不是完整的xml,而是我想要解析要解析的xml标记的一部分

<FILTERABLE>
    <FILTER_ELEMENT ALIAS_NAME="roomnumber" JOINER="AND" LPAREN="false" OPERATOR="BEGINS" RPAREN="false" SEQNUM="1" VALUE="1001"/>
</FILTERABLE>
需要一个java对象作为下面包含的一对哈希映射

FILTER_ELEMENT ALIAS_NAME = "roomnumber"
JOINER="AND"
LPAREN="false" 
OPERATOR="BEGINS"
RPAREN="false"
SEQNUM="1"
VALUE="1001"

dom4j是一个开源的、基于Java的库,用于解析XML文档。在这个回答中,使用dom4japi解析xml文档。因此,将dom4j.jar文件添加到应用程序的类路径中

过滤元件的类别

public class Filter_Element {

    private String ALIAS_NAME;
    private String JOINER;
    private Boolean LPAREN;
    private String OPERATOR;
    private Boolean RPAREN;
    private int SEQNUM;
    private int VALUE;

    public String getALIAS_NAME() {
        return ALIAS_NAME;
    }
    public void setALIAS_NAME(String aLIAS_NAME) {
        ALIAS_NAME = aLIAS_NAME;
    }
    public String getJOINER() {
        return JOINER;
    }
    public void setJOINER(String jOINER) {
        JOINER = jOINER;
    }
    public Boolean getLPAREN() {
        return LPAREN;
    }
    public void setLPAREN(Boolean lPAREN) {
        LPAREN = lPAREN;
    }
    public String getOPERATOR() {
        return OPERATOR;
    }
    public void setOPERATOR(String oPERATOR) {
        OPERATOR = oPERATOR;
    }
    public Boolean getRPAREN() {
        return RPAREN;
    }
    public void setRPAREN(Boolean rPAREN) {
        RPAREN = rPAREN;
    }
    public int getSEQNUM() {
        return SEQNUM;
    }
    public void setSEQNUM(int sEQNUM) {
        SEQNUM = sEQNUM;
    }
    public int getVALUE() {
        return VALUE;
    }
    public void setVALUE(int vALUE) {
        VALUE = vALUE;
    }
}
设置为filterElement对象的xml元素(FILTER_元素)的属性值

try {

    File fXmlFile = new File("your_xml_file.xml");
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(fXmlFile);
    NodeList nodeList= doc.getElementsByTagName("FILTER_ELEMENT");
    Filter_Element filterElement;

    for(int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        filterElement = new Filter_Element();

        filterElement.setALIAS_NAME(node.getAttributes().getNamedItem("ALIAS_NAME").getNodeValue());
        filterElement.setJOINER(node.getAttributes().getNamedItem("JOINER").getNodeValue());
        filterElement.setLPAREN(Boolean.valueOf(node.getAttributes().getNamedItem("LPAREN").getNodeValue()));
        filterElement.setOPERATOR(node.getAttributes().getNamedItem("OPERATOR").getNodeValue());
        filterElement.setRPAREN(Boolean.valueOf(node.getAttributes().getNamedItem("RPAREN").getNodeValue()));
        filterElement.setSEQNUM(Integer.valueOf(node.getAttributes().getNamedItem("SEQNUM").getNodeValue()));
        filterElement.setVALUE(Integer.valueOf(node.getAttributes().getNamedItem("VALUE").getNodeValue()));
    }

} catch (Exception e) {

    e.printStackTrace();

}
试试看{
File fXmlFile=新文件(“your_xml_File.xml”);
DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder=dbFactory.newDocumentBuilder();
documentdoc=dBuilder.parse(fXmlFile);
NodeList NodeList=doc.getElementsByTagName(“过滤器元素”);
滤芯滤芯滤芯;
for(int i=0;i
如果您已经为FilterElement的属性编写了一个类,那么您可以使用其中一个。那么为什么不使用哈希映射呢?
try {

    File fXmlFile = new File("your_xml_file.xml");
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(fXmlFile);
    NodeList nodeList= doc.getElementsByTagName("FILTER_ELEMENT");
    Filter_Element filterElement;

    for(int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        filterElement = new Filter_Element();

        filterElement.setALIAS_NAME(node.getAttributes().getNamedItem("ALIAS_NAME").getNodeValue());
        filterElement.setJOINER(node.getAttributes().getNamedItem("JOINER").getNodeValue());
        filterElement.setLPAREN(Boolean.valueOf(node.getAttributes().getNamedItem("LPAREN").getNodeValue()));
        filterElement.setOPERATOR(node.getAttributes().getNamedItem("OPERATOR").getNodeValue());
        filterElement.setRPAREN(Boolean.valueOf(node.getAttributes().getNamedItem("RPAREN").getNodeValue()));
        filterElement.setSEQNUM(Integer.valueOf(node.getAttributes().getNamedItem("SEQNUM").getNodeValue()));
        filterElement.setVALUE(Integer.valueOf(node.getAttributes().getNamedItem("VALUE").getNodeValue()));
    }

} catch (Exception e) {

    e.printStackTrace();

}