XMLファイルを読み取り、ノード名と構造のみを抽出します。

XMLファイルを読み取り、ノード名と構造のみを抽出します。

XMLファイル構造を監査し、DOMツリー構造のみを表示し、値を省略するレポートを生成する必要があります。デフォルトではノード名のみがあり、値はありません。 xmllintとxmlstarletを試してみましたが、これを行う方法がわかりません。

これを行うことができるツールや上記のツールの例を知っている人はいますか?

cat $filename.xml | xmlstarlet format -t私に必要なものを提供しますが、すべての価値を無視したいと思います。

ベストアンサー1

xmllintインタラクティブシェルコマンドは、du必要なものを提供しているようです。

   du PATH
       Show the structure of the subtree under the given path or the current node.

インタラクティブでないことを望むなら、おそらく

printf '%s\n' du exit | xmllint --shell file.xml

または

xmllint --shell file.xml <<EOF
du
exit
EOF

前任者。

$ printf '%s\n' du exit | xmllint --shell rss.xml
/ > /
rss
  channel
    title
    link
    description
    copyright
    language
    lastBuildDate
    image
      url
      title
      link
    item
      title
      link
      description
      pubDate
    item
      title
      link
      description
      pubDate
    item
      title
      link
      description
      pubDate
/ >

おすすめ記事