Xml Xpath函数查找属性的字符串长度
我有如下xml消息体。我需要找出属性“SenderId”的字符串长度是否大于0。我找不到这个 XML消息Xml Xpath函数查找属性的字符串长度,xml,xpath,Xml,Xpath,我有如下xml消息体。我需要找出属性“SenderId”的字符串长度是否大于0。我找不到这个 XML消息 <?xml version="1.0"?> <Audit xmlns="http://schemas.Auditlog.xsd"> <MessageId>1234</MessageId> <SenderDetails CreatedDate="2017-Jan-12" SenderId="App1"/> </Audit>
<?xml version="1.0"?>
<Audit xmlns="http://schemas.Auditlog.xsd">
<MessageId>1234</MessageId>
<SenderDetails CreatedDate="2017-Jan-12" SenderId="App1"/>
</Audit>
但它不起作用。这个XPath
string-length(//*[local-name() = 'SenderDetails']/@SenderId)
将返回4,因为@SenderId
的属性值是App1
,其字符串长度为4。如果希望为正数返回true,可以通过追加>0来测试其返回值
请参见了解如何在XPath中声明和使用名称空间前缀,这比通过local-name()
击败名称空间更可取。执行XPath时使用的环境是什么,即宿主编程语言/DOM API是什么?它是基于spring的项目,使用Java DSL编程
string-length(//*[local-name() = 'SenderDetails']/@SenderId)