如何解析 XML 文件并使用找到的值创建对象?

Posted

技术标签:

【中文标题】如何解析 XML 文件并使用找到的值创建对象?【英文标题】:How to parse an XML file and create objects using found values? 【发布时间】:2019-08-25 07:34:58 【问题描述】:

我想使用 Java 解析 XML 文件。我在网上找到了一些教程,但没有人讲述解析子标签并将它们用作对象的属性。

我尝试使用找到的代码here。 但它没有显示如何处理其他标签内的标签。让我给你举个例子:

<lotto>
            <cig>Z9E1CD9F58</cig>
            <strutturaProponente>
                <codiceFiscaleProp>00222010654</codiceFiscaleProp>
                <denominazione>COMUNE DI PERDIFUMO</denominazione>
            </strutturaProponente>
</lotto>

lotto 是我的主要标签,它包含我需要的所有数据。在我的代码中,我创建了一个以相同方式调用的类。它的属性与主标签中包含的标签相同(cig,strutturaProponente,...)。

我希望 strutturaProponente 成为一个班级。我不知道如何解析标签strutturaProponente 以及标签cig 内的标签。 感谢您的耐心和考虑。

【问题讨论】:

您可以使用 XmlPullParser 并自己跟踪当前路径,以便在处理元素时了解您在文件中的位置。开始标签时,将标签推入当前路径,结束标签时,将其从当前路径弹出。 【参考方案1】:

好吧,让我看看我是否理解。你想要XML的代码表示吗,我相信这个类会是这样的。

public class Loto

    private String cig;

    public String getCig()
    
        return cig;
    

    public void setCig(String value)
       cig = value;
    


public class StrutturaProponente

     private int codiceFiscaleProp;

     private string denominazione;

     public int getCodiceFiscaleProp()
     
        return cig;
     

     public void setCodiceFiscaleProp(int value)
       codiceFiscaleProp = value;
     

    public String getDenominazione()
    
        return denominazione;
    

    public void setDenominazione(String value)
       denominazione = value;
    

希望对你有所帮助。

【讨论】:

是的,类是这样的,但我想解析值并将它们用作对象的属性。

以上是关于如何解析 XML 文件并使用找到的值创建对象?的主要内容,如果未能解决你的问题,请参考以下文章

麻烦请问一下,android如何修改xml文件中节点的值,并保存进去,谢谢

仅找到一次 ID 的核心数据对象

php如何解析多级xml报文?

如何解析文本文件并使用构造函数中的文件输入来创建对象容器

如何理解IoC容器,Bean工厂,applicationContext.xml三者之间的关系

无法将输入 xml 文件内容转换为 DataSet。未找到请求的值“ConnectionStrings”