如果 xml 中缺少标签,为什么会显示文本?
Why is the text displayed if the tag is missing in the xml?
您需要阅读 xml 并仅显示那些包含 INNYL 或 INNFL 标签的值。但是如果我在“文档”中没有它们或者它是空的,那么输出是:INNYL INNFL
这是为什么?在这种情况下我不需要显示任何内容,因为没有值(没有标签或它是空的)。
def person = new XmlSlurper().parse(new File("C:\test\test.xml"))
person.Document.findAll { p ->
p.Org.@INNYL != null ||
p.IPV.@INNFL != null
}.each { p ->
println "INNYL ${p.Org.@INNYL} INNFL ${p.IPV.@INNFL}"
}
我没有附加 XML,因为您可以创建任何附件。
因为@INNYL
returns一个空属性,不是null...你可以通过获取文本来检查它,并检查它们是否为空
person.Document.findAll { p ->
p.Org.@INNYL.text() ||
p.IPV.@INNFL.text()
}.each { p ->
println "INNYL ${p.Org.@INNYL} INNFL ${p.IPV.@INNFL}"
}
或者您可以使用 isEmpty()
,即:!p.Org.@INNYL.isEmpty()
您需要阅读 xml 并仅显示那些包含 INNYL 或 INNFL 标签的值。但是如果我在“文档”中没有它们或者它是空的,那么输出是:INNYL INNFL 这是为什么?在这种情况下我不需要显示任何内容,因为没有值(没有标签或它是空的)。
def person = new XmlSlurper().parse(new File("C:\test\test.xml"))
person.Document.findAll { p ->
p.Org.@INNYL != null ||
p.IPV.@INNFL != null
}.each { p ->
println "INNYL ${p.Org.@INNYL} INNFL ${p.IPV.@INNFL}"
}
我没有附加 XML,因为您可以创建任何附件。
因为@INNYL
returns一个空属性,不是null...你可以通过获取文本来检查它,并检查它们是否为空
person.Document.findAll { p ->
p.Org.@INNYL.text() ||
p.IPV.@INNFL.text()
}.each { p ->
println "INNYL ${p.Org.@INNYL} INNFL ${p.IPV.@INNFL}"
}
或者您可以使用 isEmpty()
,即:!p.Org.@INNYL.isEmpty()