使用预定义标签(如<Emphasis Type =“ Italic”> Text </Emphasis>)解析XML内容

时间:2019-08-19 14:58:04

标签: xml jaxb

我有一个XML文件,其内容如下。

<ArticleInfo Language="En" ArticleType="News">
        <ArticleID>EE7629</ArticleID>
        <ArticleDOI>11.2149/x52697-129-18</ArticleDOI>

    <ArticleTitle Language="En">Hot tickets for scientists in 2019: <Emphasis Type="Italic">Nature</Emphasis>’s pick of the cultural calendar</ArticleTitle>

    </ArticleInfo>

我的问题是我无法解组ArticleTitle的全文。当我将其解编为Java中的JAXB对象时,它只会给我

’s pick of the cultural calendar    

请告诉我如何获取全文。

我已经尝试过制作JAXB POJO类并进行解组。创建了另一个名为“ Emphasis”的POJO,但是在我的XML中可以实现任何目的。例如Bold Italics,所以我可以通过它获取全文的任何方法或注释。有多种标签可以代替强调。因此,需要通用解决方案。

    ArticleInfo dataFile;
        JAXBContext jaxbContext;
        try {
            jaxbContext = JAXBContext.newInstance(ArticleInfo.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            System.setProperty("javax.xml.accessExternalDTD", "all");
            dataFile = (ArticleInfo) jaxbUnmarshaller.unmarshal(new 
    File("D:\\all.xml"));

            System.out.println(dataFile.getArticleTitle());

        } catch (Exception e) {
            //logger.error("Exception occured while XML processing " + e);
            System.out.println("Exception occured while XML processing " + e);
        }

预期=     Hot tickets for scientists in 2019: Nature’s pick of the cultural calendar

实际= ’s pick of the cultural calendar

0 个答案:

没有答案