我试着用下面的pom.xml文件创建Python脚本并使用lxml
验证pom是否存在语法错误,以进一步确认<version>
是SNAPSHOT
,并更新{ci_{git hub org}_{branch name}-SNAPSHOT
。在
project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wsi.devops</groupId>
<artifactId>python-test</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
这就是我目前的解决方案
^{pr2}$只是想为我在剧本中犯的任何错误得到一些帮助。在
代码的主要问题是错误地使用了ElementTreeparse()方法。它使用一个标记名或某种简化的xpath语法,而您似乎把它当作str.查找()接受任意字符串的方法。您需要的是版本标记。在
解析代码应该如下所示:
请注意,您必须始终设置一个名称空间来查找版本。这就引出了我的第二点:为什么要对文件进行两次解析?lxml只是xml的一个更具特色的版本。你只需要导入一个!lxml还有一个优点,它的元素树有一个nsmap属性,因此您不必自己输入名称空间。如果Apache发布了一个新的Maven版本或其他东西,我想这会使它更加健壮:
^{pr2}$对于完整的代码,仅使用lxml:
相关问题 更多 >
编程相关推荐