xml - 获取 XML 节点的属性值时出错
问题描述
我正在尝试获取属性的值但出现错误
<GetListResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<GetListResult>
<List RootFolder="/something/FileUploadTest">
</List>
</GetListResult>
</GetListResponse>
XSLT
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sp="http://schemas.microsoft.com/sharepoint/soap/" version="1.0">
<xsl:template match="/" name="ShowVariables">
<xsl:copy-of select="/sp:GetListResponse/sp:GetListResult/sp:List/@RootFolder"/>
</xsl:template>
</xsl:stylesheet>
我收到此错误
执行返回了一个意外错误。不能在“根”类型的节点中构造“属性”类型的项目。
解决方案
您不能单独创建属性。它不能单独存在。它首先应该是一个父元素。属性仅存在于元素的上下文中。
下面的 XSLT 创建了一个虚假的文字元素<fafa>
。之后,我们可以创建属性的副本。
XSLT #1
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://schemas.microsoft.com/sharepoint/soap/" exclude-result-prefixes="a">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/" name="ShowVariables">
<fafa>
<!--<xsl:copy-of select="/a:GetListResponse/a:GetListResult/a:List/@RootFolder"/>-->
<xsl:value-of select="a:GetListResponse/a:GetListResult/a:List/@RootFolder"/>
</fafa>
</xsl:template>
</xsl:stylesheet>
输出
<fafa>/something/FileUploadTest</fafa>
XSLT #2
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://schemas.microsoft.com/sharepoint/soap/" exclude-result-prefixes="a">
<xsl:output method="text" />
<xsl:template match="/" name="ShowVariables">
<xsl:value-of select="a:GetListResponse/a:GetListResult/a:List/@RootFolder"/>
</xsl:template>
</xsl:stylesheet>
输出
/something/FileUploadTest
推荐阅读
- java - 如何使用 JavaFX 使我的“inputPane”居中
- python - 在列表中使用 Python 变量
- javascript - 无限可滚动的div?
- symfony - 如何在 symfony4 中同时拥有 prod 和 dev ENV
- spring - Spring MVC 中的@Controller 和@RequestMapping 有什么区别?
- android - 使用没有纵横比的缩放手势缩放位图(水平或垂直)
- javascript - 使用 Google Document 的段落标题样式设置 Drive 文件名
- sql - SQL Server 多行多列,如果一列包含逗号分隔值
- sql - SQL Server 2014 读取 NVARCHAR 列中保存的数组中的 json 值
- rx-java - concatMap 与 flatMap