Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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
如何在java中解析CDATA中的数据_Java_Xml Parsing - Fatal编程技术网

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

如何在java中解析CDATA中的数据,java,xml-parsing,Java,Xml Parsing,我有一个如下所示的xml,我必须解析CDATA中的用户名和密码。请说明如何解析它 <myxml> <header> <sessionid>12245834454835486</sessionid> </header> <custommessage> <![CDATA[<?xml version = "1.0" ?> <data> <users> <

我有一个如下所示的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>

12245834454835486
yyy
xxx
]]>

使用任何解析器提取内部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>

yyy
xxx

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

您尝试了什么?您使用什么来解析xml?我从Web服务获得了上述响应,我需要解析xml并在相应的标记中获取用户名和密码的值。准备好解析xml的任何教程。例如,这个:首先需要解析外部xml,然后将
内容获取为字符串,然后再次解析它。然后获得
用户名
密码
。谢谢nikita我得到了它,非常感谢你的帮助。