我想只选择子节点值与某个值匹配的节点。
这是我的原始XML:
这是我的orig XML
<Entry>
<Name>AAA</Name>
<line id="1">A</line>
<line id="2">B</line>
</Entry>
<Entry>
<Name>BBB</Name>
<line id="1">C</line>
<line id="2">D</line>
</Entry>
<Entry>
<Name>AAA</Name>
<line id="1">E</line>
<line id="2">F</line>
</Entry>
<Entry>
<Name>CCC</Name>
<line id="1">G</line>
<line id="2">H</line>
</Entry>
我想提取Name ='AAA'的所有条目,结果将是:
<Entry>
<Name>AAA</Name>
<line id="1">A</line>
<line id="2">B</line>
</Entry>
<Entry>
<Name>AAA</Name>
<line id="1">E</line>
<line id="2">F</line>
</Entry>
我只能使用XSLT 1.0。
请提供任何指导。我被困在如何丢弃所有不匹配的子节点上。
的问候, 拉胡
答案 0 :(得分:15)
以下将选择子节点“名称”等于AAA的所有入口节点。
//Entry[Name = "AAA"]
答案 1 :(得分:2)
怎么样
//Name[text()='AAA']/..
找到文本内容为AAA的所有Name
个节点,然后将一个级别向上移动到Name的父节点,即Entry
。