我有以下XML文件:
<rows>
<row>
<title>Title 1</title>
<descriptions>
<description lang="EN">Lorem ipsum</description>
<description lang="FR">Lorem ipsum</description>
</descriptions>
</row>
<row>
<title>Title 2</title>
<descriptions>
<description lang="EN">Lorem ipsum</description>
<description lang="FR">Lorem ipsum</description>
</descriptions>
</row>
</rows>
我需要将@lang和描述导出为字符串。 (例如,&#34; EN :: Lorem ipsum&#34;)。所以我使用了对xpath的concat函数:
description = concat(.//description,' :: ',.//@lang)
这适用于第一个描述,但忽略了第二个。
有办法做到这一点吗? NB feeds_xpathparse
模块仅支持Xpath 1.0功能。
答案 0 :(得分:0)
在XPath 1.0中无法做到这一点。您可以使用XPath 2.0,也可以选择所有节点并以宿主语言连接结果。 - helderdarocha
答案 1 :(得分:0)
如果您已经有正确的上下文(例如/row
),则此语法应该在FeedsXPathParserXML中有效:
concat(description, " :: ", @lang)
concat()
与XML XPath 1.0兼容。