如何使用unix shell脚本将xml文件转换为属性文件

我有一个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命令,请建议。