【发布时间】:2023-03-15 17:29:01
【问题描述】:
我正在尝试了解如何在 Jenkins 中迭代 .xml 文件,因此我创建了一个超级简单的 .xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<tag1>
<tag2>hello</tag2>
<tag3>bye</tag3>
</tag1>
我只想获取标签值(即 tag3)并将其打印出来。我在这里阅读了很多关于 SO 的文章,这是我拥有的鳕鱼:
import groovy.xml.*
pipeline {
agent any
stages {
stage('find') {
steps {
script{
def xml = readFile "C:\\Users\\anton\\Desktop\\test.xml"
def file = new XmlSlurper().parseTest(xml)
file.'**'.
findAll { it.name() == 'tag1' }
.each {println it.assetId.text()}
}
}
}
}
}
但我不断收到此错误:hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: groovy.util.XmlSlurper.parseTest() is applicable for argument types: (java.lang.String) values: [<?xml version="1.0" encoding="utf-8"?>
如果我尝试使用 XmlParser() 方法,我也会得到同样的错误。我已经关注了这些链接java.net.MalformedURLException: no protocol: XML,它似乎对他来说工作正常我没有从那个错误中找到更多信息
如果我删除最后 3 行,则会收到此错误:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
我不明白,因为 xml herader 似乎很好......
【问题讨论】:
-
假设 stackoverflow.com/a/67390162/4657412 是正确的 - 我已经投票关闭作为一个错字
标签: xml jenkins jenkins-pipeline