如何在java中解析CDATA中的数据

时间:2012-11-19 07:47:05

标签: java xml-parsing

我有一个像下面的xml,我必须解析CDATA内的用户名和密码,请说明如何解析它。

<myxml>
 <header>
  <sessionid>12245834454835486</sessionid>
 </header>
 <custommessage>
  <![CDATA[<?xml version = "1.0" ?>
  <data>
   <users>
    <username>yyy</username>
    <password>xxx</password>
   </users>
 </data>]]>
 </custommessage>
</myxml>

1 个答案:

答案 0 :(得分:1)

使用任何解析器提取内部xml,这里我将使用JAXB:

public class Test {
    public String custommessage;

    public static void main(String[] args) throws Exception {
        Test t = JAXB.unmarshal(new File("test.xml"), Test.class);
        String xml = t.custommessage.trim();
        System.out.println(xml);
    }
}

这是你的内在xml

<?xml version = "1.0" ?>
  <data>
   <users>
    <username>yyy</username>
    <password>xxx</password>
   </users>
 </data>

现在您可以解析它并获取您的用户名和密码