我有一个xml文件source.xml。 我想创build一个属性文件与这个XML文件信息的键值对。
<?xml version="1.0" ?> <persons> <person> <name>John</name> <family-name>Smith</family-name> </person> <person> <name>Morka</name> <family-name>Ismincius</family-name> </person> </persons>
属性文件应该看起来像
"John" = "Smith"; "Morka" = "Ismincius";
任何人做了类似的转换使用Unix Shell脚本请build议..
可以简单地使用grep and sed command
来完成。
这可能有帮助吗?
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="//person"> "<xsl:value-of select="name"/>" = "<xsl:value-of select="family-name"/>" </xsl:template> </xsl:stylesheet>
将其保存为x.xslt
并执行
xsltproc x.xslt file.xml
搜索了很多,最后能够使用简单的grep and sed
unix命令从xml创建属性文件。
几个链接足以引用:
如何使用sed替换换行符(\ n)?
使用一些Unix命令将每个备用行放在一列中
脚本工作:
grep -e "<name>" -e "<family-name>" source.xml | sed -e 's/<name>/"/' -e 's/<\/name>/"/' | sed -e 's/<family-name>/"/' -e 's/<\/family-name>/";/' | sed 's/ //g' | sed 'N;s/\n/ = /' > my.properties
任何人有任何其他方式使用简单的unix命令,请建议。