Ansible Xml 模块 - 从寄存器中获取带有命名空间的 xml 值
Ansible Xml Module - Get xml value with namespace from a register
有一个pom.xml文件,我用下面的任务提取项目名
- name: Loading project variables from the parent Maven pom.xml
xml:
path: "/some/path/pom.xml"
namespaces:
ns: "http://maven.apache.org/POM/4.0.0"
xpath: "/ns:project/ns:name"
content: text
register: project_name_reg
- name: "Set project name"
set_fact:
project_name: "{{ project_name_reg.matches[0] }}"
有效,现在 project_name
包含:
"project_name": {
"{http://maven.apache.org/POM/4.0.0}name": "My Project Parent"
}
如何通过这个带有命名空间的复杂 {http://maven.apache.org/POM/4.0.0}name
名称提取真正的 My Project Parent
值?这是一个简单的词典,但我的尝试都失败了。
你根本不在乎那把钥匙。你可以这样做:
- name: "Set project name"
set_fact:
project_name: "{{ project_name_reg.matches[0].values()|first }}"
有一个pom.xml文件,我用下面的任务提取项目名
- name: Loading project variables from the parent Maven pom.xml
xml:
path: "/some/path/pom.xml"
namespaces:
ns: "http://maven.apache.org/POM/4.0.0"
xpath: "/ns:project/ns:name"
content: text
register: project_name_reg
- name: "Set project name"
set_fact:
project_name: "{{ project_name_reg.matches[0] }}"
有效,现在 project_name
包含:
"project_name": {
"{http://maven.apache.org/POM/4.0.0}name": "My Project Parent"
}
如何通过这个带有命名空间的复杂 {http://maven.apache.org/POM/4.0.0}name
名称提取真正的 My Project Parent
值?这是一个简单的词典,但我的尝试都失败了。
你根本不在乎那把钥匙。你可以这样做:
- name: "Set project name"
set_fact:
project_name: "{{ project_name_reg.matches[0].values()|first }}"