Android中如何序列化XML? [英] How can Serialize XML in Android?
问题描述
我得到在 XML 格式的肥皂 Serivce文字,现在我想分割图像标记,并在不同的序列化格式的视频标签。
我的文字:
<图像及GT;
<图像ImageID =1000032StoredFilename =42825125-8002-4d28-ba90-9889de5e4e91.jpgImageName =bPanda/>< /图片>
<播放列表和GT;<播放列表PlayListID =1000005/>
< /播放列表和GT;< PlayListVideoXrefs>
&所述; PlayListVideoXref PlayListVideoXrefID =1000027PlayListID =1000005视频ID =1000006PlayOrder =1/>
&所述; PlayListVideoXref PlayListVideoXrefID =1000028PlayListID =1000005视频ID =1000003PlayOrder =2/>
< / PlayListVideoXrefs><影片及GT;
<视频视频ID =1000006StoredFilename =c0739234-b844-46c9-b1b2-96b55f70e17e.mp4VideoName =巴塞罗那/>
<视频视频ID =1000003StoredFilename =50acb2ee-810A-4c32-b097-40c87d253e25.mp4VideoName =bVideo1/>
< /视频>
我分裂使用正则表达式的形象和它不工作:
模式P = Pattern.compile(<图片[^>] *方式>(*)<?/图片>);
匹配M = p.matcher(_strUrl);
ArrayList的<串GT; list_Images =新的ArrayList<串GT;();尝试{
而(m.find()){
的System.out.println(m.group(1));
list_Images.add(m.group(1)); }
}赶上(例外五){
// TODO:处理异常
Toast.makeText(getApplicationContext(),e.getMessage()的toString(),1)。.show();
}
要捕捉图片
部分,那么你可能需要转义斜杠
<图片[^>] * GT< \\ /图片>
,活生生的例子: http://www.rubular.com/r/h5TZdE5nyb
要分析每个属性的单个图像标签:
\\ s([^ =] *)=([^] *)
,活生生的例子: http://www.rubular.com/r/eiTS7cpY5p
I'm getting a text in XML Format with Soap Serivce and now I want to split an Image tag and a Video Tag in different Serialize format.
My text :
<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>
I split the Image using Regex and it's not working at all :
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();
}
To capture the images
section then you'll probably need to escape the forward slash
<Images[^>]*>(.*?)<\/Images>
, Live example: http://www.rubular.com/r/h5TZdE5nyb
To parse each of the attributes in a single image tag:
\s([^=]*)="([^"]*)"
, Live example: http://www.rubular.com/r/eiTS7cpY5p
这篇关于Android中如何序列化XML?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!