如何获取具有命名空间的子节点值?

巴兰·古鲁穆提

我对 XSLT 完全陌生,我的目标是从具有名称空间的节点中检索值。我的 XML 如下所示。

<WBIFNMsg>
    <AppData>
        <AppName>INFM</AppName>
        <MsgType>Notification</MsgType>
        <MsgStatus>Success</MsgStatus>
    </AppData>
    <AppMsg>
        <Document xmlns="urn:swift:xsd:setr.010.001.03">
            <SbcptOrdrV03>
                <MsgId>
                    <Id>29331095XXXXML</Id>
                    <CreDtTm>2019-06-07T10:30:43.681+02:00</CreDtTm>
                </MsgId>
            </SbcptOrdrV03>
        </Document>
    </AppMsg>
</WBIFNMsg>

我正在尝试通过 xslt 获取文档/SbcptOrdrV03/MsgId/ 下的 Id 标签的值。由于文档标签具有命名空间,我已将其包含在我的 xslt 中,但仍然无法检索该值。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:b="urn:swift:xsd:setr.010.001.03" exclude-result-prefixes="b">
    <xsl:output method="xml" omit-xml-declaration="yes"/>
    <xsl:template match="/">
        <data>
            <messageDataApps>
                <field>
                    <fieldName>SENDER.STP</fieldName>
                    <value>
                        <xsl:value-of select="b:WBIFNMsg/b:AppMsg/b:Document/b:SbcptOrdrV03/b:MsgId/b:id"/>                                    
                    </value>
                </field>
            </messageDataApps>                                                                                                          
        </data>
    </xsl:template>
</xsl:stylesheet>

感谢有人可以帮助解决这个问题。提前致谢。

michael.hor257k

OnlyDocument及其后代位于命名空间中,并且在寻址它们时需要使用前缀。代替:

<xsl:value-of select="b:WBIFNMsg/b:AppMsg/b:Document/b:SbcptOrdrV03/b:MsgId/b:id"/>

尝试:

<xsl:value-of select="WBIFNMsg/AppMsg/b:Document/b:SbcptOrdrV03/b:MsgId/b:Id"/>

另请注意,XML 区分大小写:b:idb:Id.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从具有命名空间的XML中获取节点

来自分类Dev

如何更改具有命名空间的属性的值?

来自分类Dev

如果属性名称具有命名空间,XPath 如何通过属性名称选择节点

来自分类Dev

XML :: LibXML问题发现具有命名空间的XML节点

来自分类Dev

如何在LINQ to XML中选择带有命名空间的XML节点

来自分类Dev

具有命名空间的Firebase远程配置

来自分类Dev

在 PHP 中扩展具有命名空间的类

来自分类Dev

使用具有命名空间的 R 解析 XML

来自分类Dev

具有命名空间的 Linq XML Xelement 返回 Null

来自分类Dev

如何在 PHP Xpath 中获取带有命名空间前缀的元素名称

来自分类Dev

有命名空间而没有命名空间

来自分类Dev

没有命名空间的JDOM XPath获取内部元素

来自分类Dev

XML获取命名空间节点值

来自分类Dev

根元素中的命名空间定义也具有命名空间-有效的XML?

来自分类Dev

如何获取具有不同命名空间的元素

来自分类Dev

AngularJS。具有命名视图的默认子状态

来自分类Dev

从 XSL 中的命名空间节点获取子节点

来自分类Dev

具有命名值的字符串格式

来自分类Dev

如何将CSS属性选择器用于具有命名空间属性href的SVG元素?

来自分类Dev

XML到Linq获取具有属性值的子节点

来自分类Dev

XML到Linq获取具有属性值的子节点

来自分类Dev

如何使Clojure中.core命名空间中的所有命名空间中的函数可用?

来自分类Dev

如何使Clojure中.core命名空间中的所有命名空间中的函数可用?

来自分类Dev

如何使用具有命名范围的 Arrayformula?

来自分类Dev

如何使用sql server在XML文档中获取包含具有给定属性值的子节点的节点?

来自分类Dev

带有命名空间事件的javascript

来自分类Dev

在具有命名空间的xml文档中使用html标签

来自分类Dev

在SQL Server 2008中使用xmlnamespaces读取具有命名空间的XML文件

来自分类Dev

使用PHP中的SimpleXML创建具有命名空间的RSS元素

Related 相关文章

  1. 1

    如何从具有命名空间的XML中获取节点

  2. 2

    如何更改具有命名空间的属性的值?

  3. 3

    如果属性名称具有命名空间,XPath 如何通过属性名称选择节点

  4. 4

    XML :: LibXML问题发现具有命名空间的XML节点

  5. 5

    如何在LINQ to XML中选择带有命名空间的XML节点

  6. 6

    具有命名空间的Firebase远程配置

  7. 7

    在 PHP 中扩展具有命名空间的类

  8. 8

    使用具有命名空间的 R 解析 XML

  9. 9

    具有命名空间的 Linq XML Xelement 返回 Null

  10. 10

    如何在 PHP Xpath 中获取带有命名空间前缀的元素名称

  11. 11

    有命名空间而没有命名空间

  12. 12

    没有命名空间的JDOM XPath获取内部元素

  13. 13

    XML获取命名空间节点值

  14. 14

    根元素中的命名空间定义也具有命名空间-有效的XML?

  15. 15

    如何获取具有不同命名空间的元素

  16. 16

    AngularJS。具有命名视图的默认子状态

  17. 17

    从 XSL 中的命名空间节点获取子节点

  18. 18

    具有命名值的字符串格式

  19. 19

    如何将CSS属性选择器用于具有命名空间属性href的SVG元素?

  20. 20

    XML到Linq获取具有属性值的子节点

  21. 21

    XML到Linq获取具有属性值的子节点

  22. 22

    如何使Clojure中.core命名空间中的所有命名空间中的函数可用?

  23. 23

    如何使Clojure中.core命名空间中的所有命名空间中的函数可用?

  24. 24

    如何使用具有命名范围的 Arrayformula?

  25. 25

    如何使用sql server在XML文档中获取包含具有给定属性值的子节点的节点?

  26. 26

    带有命名空间事件的javascript

  27. 27

    在具有命名空间的xml文档中使用html标签

  28. 28

    在SQL Server 2008中使用xmlnamespaces读取具有命名空间的XML文件

  29. 29

    使用PHP中的SimpleXML创建具有命名空间的RSS元素

热门标签

归档