如何在Android中序列化XML?

如何在Android中序列化XML?,android,xml,regex,Android,Xml,Regex,我用Soap服务获得XML格式的文本,现在我想用不同的序列化格式拆分图像标记和视频标记 我的文本: <Images> <Image ImageID="1000032" StoredFilename="42825125-8002-4d28-ba90-9889de5e4e91.jpg" ImageName="bPanda" /></Images> <PlayLists><PlayList PlayListID="1000005" />

我用Soap服务获得XML格式的文本,现在我想用不同的序列化格式拆分图像标记和视频标记

我的文本:

<Images> 
<Image ImageID="1000032" StoredFilename="42825125-8002-4d28-ba90-9889de5e4e91.jpg" ImageName="bPanda"  /></Images>
<PlayLists><PlayList PlayListID="1000005"  />
</PlayLists><PlayListVideoXrefs>
<PlayListVideoXref PlayListVideoXrefID="1000027" PlayListID="1000005" VideoID="1000006" PlayOrder="1"  />
<PlayListVideoXref PlayListVideoXrefID="1000028" PlayListID="1000005" VideoID="1000003" PlayOrder="2"  />
</PlayListVideoXrefs>

<Videos>
<Video VideoID="1000006" StoredFilename="c0739234-b844-46c9-b1b2-96b55f70e17e.mp4" VideoName="barcelona"  />
<Video VideoID="1000003" StoredFilename="50acb2ee-810a-4c32-b097-40c87d253e25.mp4" VideoName="bVideo1"  />
</Videos>
我使用正则表达式分割图像,但它根本不起作用:

Pattern p = Pattern.compile("<Images[^>]*>(.*?)</Images>");
Matcher m = p.matcher(_strUrl);
ArrayList<String> list_Images = new ArrayList<String>();

try {
    while (m.find()) {
        System.out.println(m.group(1));
        list_Images.add(m.group(1));

    }
} catch (Exception e) {
    // TODO: handle exception
    Toast.makeText(getApplicationContext(), e.getMessage().toString(), 1).show();
}

我认为Dom不能用于我的XML,因为图像标记包含用于显示图像的信息。我只是将图像和视频标记分成两个数组。 对于Split,使用regex可以很小心地工作,但我希望访问图像标记中的字段。例如:

<Image ImageID="1000032" **StoredFilename**="42825125-8002-4d28-ba90-9889de5e4e91.jpg" ImageName="bPanda"  /></Images>
此标记包括StoredFileName,它将其拆分为数组

以捕获图像部分,然后可能需要转义正斜杠

]*>*?,现场示例:

要分析单个图像标记中的每个属性,请执行以下操作:


\s[^=]*=[^]*,实例:

不要使用正则表达式读取XML。使用DOM或SAX解析器。你能给我简单的解释吗?谷歌在android中解析XML——你会得到数百个。不要偷懒。