首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择具有指定名称空间的元素的值。

选择具有指定名称空间的元素的值。
EN

Stack Overflow用户
提问于 2013-06-12 14:39:11
回答 1查看 1.1K关注 0票数 0

我试图对一个edifabric x12 xml文件执行一个简单的xsl转换。如何选择<D_744_1>元素?

示例XML:

代码语言:javascript
复制
<INTERCHANGE xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="www.edifabric.com/x12">
    <S_ISA>
        <D_744_1>00</D_744_1>
    </S_ISA> 
</INTERCHANGE>

样本XSL:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <testfield><xsl:value-of select="INTERCHANGE/S_ISA/D_744_1" /></testfield>
    </xsl:template>
</xsl:stylesheet>

结果:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<testfield/>

预期结果:

代码语言:javascript
复制
 <?xml version="1.0" encoding="utf-8"?>
    <testfield>00</testfield>

最新答案谢谢@ChriPf

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:edi="www.edifabric.com/x12" exclude-result-prefixes="edi">

    <xsl:template match="edi:INTERCHANGE">
        <testfield><xsl:value-of select="edi:S_ISA/edi:D_744_1" /></testfield>
    </xsl:template>

</xsl:stylesheet>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 14:53:50

您的解决方案可能如下所示:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:edi="www.edifabric.com/x12">
  <xsl:template match="edi:D_744_1">
    <xsl:element name="testfield">
        <xsl:copy-of select="." />
    </xsl:element>
</xsl:template>
</xsl:stylesheet>

如果xml中有默认名称空间,也必须在xsl中定义它。找到更多的信息,如这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17068336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档