我有这个xml,我只想获取“responseMessage”及其所有内容。我下面的xsl不起作用。当我删除requestMessage节点旁边的名称空间时,我得到了所需的输出,但事实并非如此,因为人们总是希望requestNode必须具有名称空间。
XML输入
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body >
<requestMessage xmlns="http://xmlns.oracle.com/OUMWM/Message">
<language>ENG</language>
<deviceFlag>M2ER</deviceFlag>
<badgeNumber>222</badgeNumber>
<responseMessage>
<response>
<ertResponse>
<verificationStatus>F</verificationStatus>
<errorCode>22601</errorCode>
<errorText>Badge Number 222 not found</errorText>
</ertResponse>
</response>
</responseMessage>
</requestMessage>
</soap:Body >
</soap:Envelope>
XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" version="1.0" encoding="UTF-8" />
<!-- Pretty Print Output -->
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<!-- Remove namepsaces -->
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<!-- Construct response -->
<xsl:template match="/*">
<xsl:apply-templates select="//responseMessage"/>
</xsl:template>
</xsl:stylesheet>
期望输出:
<responseMessage>
<response>
<ertResponse>
<verificationStatus>F</verificationStatus>
<errorCode>22601</errorCode>
<errorText>Badge Number 222 not found</errorText>
</ertResponse>
</response>
</responseMessage>
您应该声明命名空间“http://xmlns.oracle.com/OUMWM/Message”,并像这样使用它:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:or="http://xmlns.oracle.com/OUMWM/Message"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" version="1.0" encoding="UTF-8" />
<!-- Pretty Print Output -->
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<!-- Remove namepsaces -->
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<!-- Construct response match on root-->
<xsl:template match="/">
<xsl:apply-templates select="*/*/or:requestMessage/or:responseMessage"/>
</xsl:template>
</xsl:stylesheet>
有一个的s: 例如,如何获取key等于2的JSON元素?
问题内容: 这是一项学术任务,我们将获得一个非常大的XML文件,其中包含数百个此类条目。对于每个项目,我们都应列出经理的ID,将项目添加到列表中的最后一个人员的人员ID以及当前的项目数。我已阅读并重新阅读了Oracle DOM API和各种Node API。我们正在使用JAVA,我一生都无法弄清楚如何搜索每个节点的各个“字段” 。以下是我们提供的数据示例。 我尝试做类似的事情: 并弄乱了这段代码一
这是我的XML源: https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml 如何获取DKK(丹麦克朗)的最新汇率? 我不想使用foreach并检查货币是否为DKK... 我需要这样的东西: 知道怎么解决这个问题吗?
我对编程很陌生,我想做一个程序,用不同的变量发出12张卡片,然后将每张完整的卡片存储在某个地方供以后使用: N=Number(卡片上的数字,可以从1到3) C=Color(卡片是什么颜色,绿色、蓝色或红色) F=Form(有3种形式:蛇、时钟和圆) R=Fill(可以是满的、半的或空的) 这是我到目前为止得到的:
我有组织。w3c。dom。具有5个节点的节点列表。UUID生成的节点ID。随机UUID() Dom结构: 我需要获取属性id=“value5”的节点之后的所有节点。因此,结果应该包含id=value6和id=value7的节点。 我创建了流 那么,我可以用Java 8流API来实现这一点吗?
我有一个SVG文档,其中包含类似于以下内容的节点: 我想做的只是选择