我有一个XML文件(例如jerry.xml),其中包含一些数据,如下所示.
<data>
<country name="Peru">
<rank updated="yes">2</rank>
<language>english</language>
<currency>1.21$/kg</currency>
<gdppc month="06">141100</gdppc>
<gdpnp month="10">2.304e+0150</gdpnp>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank updated="yes">5</rank>
<language>english</language>
<currency>4.1$/kg</currency>
<gdppc month="05">59900</gdppc>
<gdpnp month="08">1.9e-015</gdpnp>
<neighbor name="Malaysia" direction="N"/>
</country>
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码从上面的xml中提取了一些选定文本的完整路径.原因在这篇文章中给出.
def extractNumbers(path, node):
nums = []
if 'month' in node.attrib:
if node.attrib['month'] in ['05', '06']:
return nums
path += '/' + node.tag
if 'name' in node.keys():
path += '=' + node.attrib['name']
elif 'year' in node.keys():
path += ' ' + 'month' + '=' + …Run Code Online (Sandbox Code Playgroud) 任何关于比下面的if else函数更有效的解决方案的想法?这占用了代码的大部分时间,因此我需要减少它.
完整的功能是
function result = vre(t,r,e,n,d)
if (e==4 && r>0)
result = 0;
elseif (e==4 && r==0)
result = 1;
elseif (e<4 && r==1)
result = t;
elseif (e<4 && r==2)
result = d;
else
result=n;
end
end
Run Code Online (Sandbox Code Playgroud)