gpt4 book ai didi

xml - xslt 和命名空间的问题

转载 作者:行者123 更新时间:2023-12-04 16:54:02 24 4
gpt4 key购买 nike

我有一个像这样序列化的 C# 类:

<oadResults 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.tyr.org.uk/standards"
>
<Link>http://www.tyr.org.uk//290/Data.zip</Link>
<ID>3540</ID>
</oadResults>

我有一个 XSLT 文件:
<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">
ID <xsl:value-of select="ID"/> </xsl:template>
</xsl:stylesheet>

转换不起作用,结果是: "ID"
但是如果我从 XML 文件中删除它:
xmlns="http://www.tyr.org.uk/standards"

它工作正常,我得到_ "ID:3540"
您能告诉我如何解决更改 XSL 文件而不是 XML 的问题吗?

最佳答案

我会建议:

<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:tyr="http://www.tyr.org.uk/standards"
exclude-result-prefixes="tyr"
>
<xsl:template match="/tyr:oadResults">
<xsl:text>ID </xsl:text>
<xsl:value-of select="tyr:ID"/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>

请注意 <xsl:text>元素。它们有助于保持 XSL 代码干净(就正确缩进而言),同时确保可预测的输出格式。
exclude-result-prefixes防止 tyr命名空间声明不会出现在输出中。

关于xml - xslt 和命名空间的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327291/

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