xml_grep从element获取属性

sar*_*per 3 xml linux command-line grep xmllint

是否有可能(如果是这样,如何)使用xml_grep从特定元素获取特定属性的值?我似乎只能在标签之间输出信息.

例:

    <eid>
       <identity nationalnumber="13021912354" dateofbirth="20130219" gender="male">
          <name>Menten</name>
          <firstname>Kasper</firstname>
          <middlenames>Marie J</middlenames>
          <nationality>Belg</nationality>
          <placeofbirth>Sint-Truiden</placeofbirth>
          <photo>base64-string</photo>
       </identity>
    </eid>
Run Code Online (Sandbox Code Playgroud)

从'identity'元素输出'nationalnumber'属性的值(在本例中为:13021912354)

Gil*_*not 6

xmllint:

xmllint --xpath 'string(//identity/@nationalnumber)' file.xml
Run Code Online (Sandbox Code Playgroud)

对于debian发行版(或衍生版)xmllintlibxml2-utils包的一部分,可以这样安装:

apt-get install libxml2-utils