我有以下 XML 结构
<?xml version="1.0" encoding="utf-8"?>
<DataItems>
<DataItem>
<ID>ID1</ID>
<Metric1>Metric11Value</Metric1>
<Metric2>Metric12Value</Metric2>
<OptionalParameters>
<OptionalParameter>
<ParameterName>ParamName1</ParameterName>
<ParameterValue>ParamValue1</ParameterValue>
<ParameterUnits>ParamUnits1</ParameterUnits>
<OptionalParamter>
<OptionalParameter>
<ParameterName>ParamName2</ParameterName>
<ParameterValue>ParamValue2</ParameterValue>
<ParameterUnits>ParamUnits2</ParameterUnits>
<OptionalParamter>
<OptionalParameter>
<ParameterName>ParamName3</ParameterName>
<ParameterValue>ParamValue3</ParameterValue>
<ParameterUnits>ParamUnits3</ParameterUnits>
<OptionalParamter>
</OptionalParamters>
<DataItem>
<ID>ID2</ID>
<Metric1>Metric21Value</Metric1>
<Metric2>Metric22Value</Metric2>
<OptionalParameters>
<OptionalParameter>
<ParameterName>ParamName1</ParameterName>
<ParameterValue>ParamValue1</ParameterValue>
<ParameterUnits>ParamUnits1</ParameterUnits>
<OptionalParamter>
<OptionalParameter>
<ParameterName>ParamName2</ParameterName>
<ParameterValue>ParamValue2</ParameterValue>
<ParameterUnits>ParamUnits2</ParameterUnits>
<OptionalParamter>
<OptionalParameter>
<ParameterName>ParamName3</ParameterName>
<ParameterValue>ParamValue3</ParameterValue>
<ParameterUnits>ParamUnits3</ParameterUnits>
<OptionalParamter>
</OptionalParamters>
<DataItem>
</DataItems>
我想以一种可以给我一个表格行的方式展平它
(ID, Metric1, Metric2, ParamName, ParamValue, ParamUnits)
问题是我不知道如何执行我需要的动态过滤以消除在内部连接或交叉应用期间产生的无效行。所以我基本上总共有 (Number of Data Items)^2 行,其中包含参数名称、值和单位的所有排列。我想知道如何过滤掉无效的行。