Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Freemarker访问XML属性名_Xml_Attributes_Freemarker - Fatal编程技术网

如何使用Freemarker访问XML属性名

如何使用Freemarker访问XML属性名,xml,attributes,freemarker,Xml,Attributes,Freemarker,我是Freemarker的新手,由于时间限制,我需要一些即时帮助。我需要读取属性名及其值,对它们进行结构分析,结果如下所示 这是我的XML ''' ''' 然而,我需要的结果是 2,123876,ST702,.00 2,123876,ST703,.00 2,123876,ST704,.00 2,123876,ST705,.00 将等待帮助。不确定上面的提取规则是什么,但类似于以下内容: <#assign inv=root.INV> <#list inv.@@ as

我是Freemarker的新手,由于时间限制,我需要一些即时帮助。我需要读取属性名及其值,对它们进行结构分析,结果如下所示

这是我的XML '''

'''

然而,我需要的结果是

2,123876,ST702,.00 

2,123876,ST703,.00 

2,123876,ST704,.00 

2,123876,ST705,.00

将等待帮助。

不确定上面的提取规则是什么,但类似于以下内容:

<#assign inv=root.INV>
<#list inv.@@ as attr>
  <#if attr?node_name?starts_with('ST7')>
    ${inv.@store},${inv.@provider},${attr?node_name},${attr}<#lt>
  </#if>
</#list>

${inv.@store}、${inv.@provider}、${attr?node_name}、${attr}

还要注意的是,像
${root[“INV/@store”]}
这样的东西可以写成
${root.INV.@store}
,ST702和ST703等都是存储的名称,它们对应的值是数量。i、 e为什么我需要名称出现在我的txt中。不管怎样,你的回答正是我所需要的。非常感谢:)。我有个问题,为什么?它是用来处理空格还是什么的?
#lt
是用来删除缩进的。
2,123876,ST702,.00 

2,123876,ST703,.00 

2,123876,ST704,.00 

2,123876,ST705,.00
<#assign inv=root.INV>
<#list inv.@@ as attr>
  <#if attr?node_name?starts_with('ST7')>
    ${inv.@store},${inv.@provider},${attr?node_name},${attr}<#lt>
  </#if>
</#list>