Search code examples
xmlxpathxmllint

how to add break line in xmllint command


I have the following command

xmllint --xpath "//*[local-name()='softwareSystem']/module/rootPath[not(@*[local-name()='type'])]/@name" file.xml

and would like to sperate each module (every matching) on a new line

thanks for help


Solution

  • I don't have your html so I have to guess, but with xmlstarlet, for example, try something like:

    xmlstarlet sel -t -m "//*[local-name()='softwareSystem']/module/rootPath[not(@*[local-name()='type'])]" -v $'concat(@name,"\n")' file.xml
    

    or

    xmlstarlet sel -t -m "//*[local-name()='softwareSystem']/module/rootPath[not(@*[local-name()='type'])]" -v $@name file.xml -n file.xml
    

    and see if it works.