Android XML资源合并工具

Android XML资源合并工具,第1张

在做聚合SDK开发时,埋州Android方向会遇到从Java编译到APK打包的一系列问题,其镇仔中有一项就是需要合并多个工程中AndroidManifest.xml以及strings.xml、styles.xml中的信息,这样才能使用aapt工具生成正确的R.java文件

但由于AndroidManifest.xml中,字段名中包含 "android:" 带冒号的特殊字符串,所以还无法使用序列化解析XML的方式处理。

目前我通过解码的方式读取出XML中的所有字段信息,保存在结构体的数组对象中,这样既方便记录字段信息,又方便做去重处理。直到全部XML处理完毕,再将结构体生成成一个新的XML文件导出。

参数:

-m : 主要XML文件的路径御液汪,相同属性以主XML为准。

-l : 合并XML文件的路径。

-o : 导出新XML文件的路径。

参数:

-m : 主要XML文件的路径,相同属性以主XML为准。

-l : 合并XML文件的路径。

-o : 导出新XML文件的路径。

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个子文件夹放一起双击运行

<# :

cls&echo off

rem 将当前目录里多个子文件夹春数下的xml文件分别合并为扒正首一个文件

set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%@% %z%

cd /d "%~dp0"

powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0'清配,[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"

echo%#% +%$%%$%/%@% %z%

pause

exit

#>

$ext='.xml'

$self=get-item -liter $args[0]

$path=$self.Directory.FullName

$enc=New-Object System.Text.UTF8Encoding $False

$folders=@(dir -liter $path|?{$_ -is [System.IO.DirectoryInfo]})

if($folders.length -ge 1){

write-host ('----------------'+$folders[0].Name+'----------------')

$newfile=$path+'\#'+$folders[0].Name+$ext

$t=New-Object -TypeName System.Collections.ArrayList

$files=@(dir -liter $folders[0].FullName -recurse|?{($ext -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])})

for($j=0$j -lt $files.length$j++){

write-host ($files[$j].FullName.Substring($path.length))

$text=[IO.File]::ReadAllText($files[$j].FullName,$enc)

[void]$t.add($text.trim())

}

$s=$t -join "`r`n`r`n"

[IO.File]::WriteAllText($newfile,$s,$enc)

}

安装JODConverter+OpenOffice。梁坦如果需要把xml转化为excel,可以采用安装JODConverter+OpenOffice,然后使用JODConverter来将xml转化为excel。excel,是一款免费的办公软件,MicrosoftExcel是Microsoft为使用Windows和轮卖AppleMacintosh *** 作系统的电脑编橡桐桐写的一款电子表格软件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12115606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存