gpt4 book ai didi

xml - 忽略子节点的 XPath 表达式

转载 作者:行者123 更新时间:2023-12-03 17:04:21 25 4
gpt4 key购买 nike

我有以下 xml:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<folder>
<TestOne>F</TestOne>
<TestTwo>01</TestTwo>
<case>
<CRDATTIM>2014-03-26-05.22.22.339840</CRDATTIM>
<RECORDCD>C</RECORDCD>
</case>
<case>
<CRDATTIM>2014-03-26-05.05.51.531840</CRDATTIM>
<RECORDCD>C</RECORDCD>
</case>
</folder>
</response>

我需要 XPath 表达式来读取 <folder> 下的节点及其值标签。我不需要子节点信息。我的意思是,我提取的信息应该如下所示:

<folder>
<TestOne>F</TestOne>
<TestTwo>01</TestTwo>
<folder>

此处是 <folder> 下列出的标签名称即<TestOne>, <TestTwo>是动态的。

是否有任何方法可以为上述要求导出 XPath 表达式?如果我的问题不清楚,请告诉我。提前致谢。

最佳答案

这是一个模板,它将只输出 <folder> 的直接子代节点:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/response/folder">
<folder>
<xsl:apply-templates select="node()" mode="childs"/>
</folder>
</xsl:template>
<xsl:template match="*" mode="childs">
<xsl:if test="count(./text()) = 1">
<xsl:element name="{local-name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

如果您只是在 xpath 之后获取文件夹节点中的所有这些节点:

/response/folder/node()[count(text()) = 1]

关于xml - 忽略子节点的 XPath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com