Java 从XSL中的XML文件中提取单个元素的值
我有下面的xml文件,我想从任何节点提取一个元素Java 从XSL中的XML文件中提取单个元素的值,java,xml,xslt,Java,Xml,Xslt,我有下面的xml文件,我想从任何节点提取一个元素 <?xml version="1.0" encoding="UTF-8"?> <root> <SubRoot> <type>A</type> <mand>Y</mand> <Section>B</Section> </SubRoot> <SubRoot
<?xml version="1.0" encoding="UTF-8"?>
<root>
<SubRoot>
<type>A</type>
<mand>Y</mand>
<Section>B</Section>
</SubRoot>
<SubRoot>
<type>B</type>
<mand>Y</mand>
<Section>A</Section>
</SubRoot>
</root>
请给我一些建议。任何建议和解决方案都必须感谢
假设我想从第二个节点选择类型
使用:
假设我想从第二个节点选择类型
使用:
@type
不会引用属性吗?您是否尝试过/root/SubRoot/type
?我对您的预期结果有点困惑。@Fildor通过使用/root/SubRoot/type,我得到了第一个子循环节点的值。假设我想从第二个节点选择type,那么我怎么做。子循环的数量我不知道。@Zia不是您的问题回答?@michael.hor257k非常感谢您的回答。@type
是否会引用属性?您是否尝试过/root/SubRoot/type
?我对您的预期结果有点困惑。@Fildor通过使用/root/SubRoot/type,我得到了第一个子循环节点的值。假设我想从第二个节点选择type,那么我怎么做。子循环的数量我不知道。@Zia不是您的问题回答?@michael.hor257k非常感谢它的回答。实际上子运行节点的数量未知。我不知道有多少节点将响应,我需要根据一些条件从所有子运行节点获取值,如我的问题中所述,我已经编写了一个if条件if section iequal to B,然后从中获取元素类型的值该subroot节点。我的节值对于每个subroot节点都是唯一的。那么,第二个版本应该适合您-不是吗?非常感谢。您的第二种方法正在工作。我有一个问题是,这种类型的代码有任何浏览器兼容性问题,或者应该适用于所有浏览器。@Zia它是纯简单的XSLT 1.0,因此,我不希望出现任何问题。非常感谢您的帮助,并在这个问题上成为我的导师。继续做大量的工作。实际上子运行节点的数量未知。我不知道有多少节点将响应,我需要根据一些条件从所有子运行节点获取值,如在我的问题中,我已经编写了一个if条件如果截面等于B,则从该子轨迹节点获取元素类型的值。对于每个子轨迹节点,我的截面值将是唯一的。嗯,那么第二个版本应该适合您-不是吗?非常感谢。您的第二个方法正在工作。我有一个问题是这种类型的代码有任何浏览器兼容性问题,或者它应该适合所有浏览器。@Zia它是纯简单的XSLT 1.0,所以我不希望有任何问题。非常感谢你的帮助,并在这个问题上成为我的导师。继续做好工作
<xsl:if test="(/root/SubRoot/[Section = 'B'])">
<xsl:value-of select="/root/SubRoot/@type"/>
</xsl:if>
<xsl:value-of select="/root/SubRoot[2]/type"/>
<xsl:value-of select="/root/SubRoot[Section='B']/type"/>