首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >XSL使用result-document输出双引号和额外的空格

XSL使用result-document输出双引号和额外的空格
EN

Stack Overflow用户
提问于 2020-08-04 18:09:27
回答 1查看 34关注 0票数 1

我正在尝试使用result-document从XML文件输出制表符分隔的文本文件。但是,输出仍然包含额外的空格和每行末尾的双引号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<feed>
    <entry>
        <properties>
            <something>HELLO</something>
            <Id>1234</Id>
            <Email>bob@bobco.com</Email>
        </properties>
    </entry>
    <entry>
        <properties>
            <something>GOODBYE</something>
            <Id>4567</Id>
            <Email>carol@bobco.com</Email>
        </properties>
    </entry>
    <entry>
        <properties>
            <something>HELLO</something>
            <Id>8910</Id>
            <Email>alice@bobco.com</Email>
        </properties>
    </entry>
</feed>

XSLT:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    version="2.0">
    <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no" standalone="yes"/>
    
    <xsl:template match="feed">
        <xsl:result-document href="foo.txt" method="text" standalone="yes" indent="no">    
            <xsl:apply-templates select="entry/properties" />
        </xsl:result-document>
    </xsl:template>
    
    <xsl:template match="properties" >
        <xsl:apply-templates select="Id"/>
        <xsl:text>&#x9;</xsl:text> 
        <xsl:apply-templates select="Email" />"
    </xsl:template>
    
    <xsl:template match="Id" >
        <xsl:value-of select="normalize-space(.)"/>        
    </xsl:template>
    
    <xsl:template match="Email" >
        <xsl:value-of select="normalize-space(.)"/>        
    </xsl:template>
    
    <xsl:template match="text()|@*"/>
</xsl:stylesheet>

输出:(在第二行和第三行的开头有空格。帐单出来没问题。在缩进设置为"no“的情况下,为什么会有空格,以及如何去掉尾随的双引号?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1234    bob@bobco.com"
    4567    carol@bobco.com"
    8910    alice@bobco.com"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-04 18:16:09

删除match="properties"模板中的流浪"字符:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <xsl:apply-templates select="Email" />"
                                          ^

它不仅在properties匹配时被传播,而且还导致下面的空格变得重要并被输出。

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

https://stackoverflow.com/questions/63252761

复制
相关文章
AngularDart4.0 英雄之旅-教程-04明细 顶
在此页面中,您将扩展“Tour of Heroes”应用程序,以显示英雄列表,并允许用户选择英雄并显示英雄的详细信息。
南郭先生
2018/08/14
3K0
AngularDart4.0 英雄之旅-教程-04明细
                                                    顶
Angular核心概念:数据绑定
测试:在NG表达式可以执行哪些代码?(Y表示可以,N表示不可以) 算术运算:Y。比较运算:Y。逻辑运算:Y。三目运算:Y。 调用函数:Y。创建对象:N。JSON序列化:N。 NG表达式禁止出现new关键字。NG表达式中JSON是undefined。 结果展示:
用户9857551
2022/06/28
3.6K0
Angular核心概念:数据绑定
AngularDart4.0 指南- 显示数据 顶
您可以通过将HTML模板中的控件绑定到Angular组件的属性来显示数据。 在这个页面中,您将创建一个包含英雄列表的组件。 您将显示英雄名单的列表,并有条件地在列表下方显示一条消息。 最终的用户界面如下所示:
南郭先生
2018/08/14
5.3K0
AngularDart4.0 指南- 显示数据
                                                    顶
Angular 6.x 基础教程
若想进一步了解 Angular CLI 的详细信息,请参考 Angular CLI 终极指南。
阿宝哥
2019/11/05
15.6K0
AngularDart 4.0 高级-结构指令 顶
本指南介绍Angular如何用结构指令操纵DOM,以及如何编写自己的结构指令来完成相同的操作。
南郭先生
2018/08/14
16.1K0
AngularDart 4.0 高级-结构指令
                                                    顶
AngularDart4.0 指南- 模板语法二 顶
Class绑定语法类似于属性(property)绑定。 以前缀类开始,可选地跟一个点(.)和一个CSS类的名字替代括号内的元素属性:[class.class-name]。
南郭先生
2018/08/14
30K0
AngularDart4.0 指南- 模板语法二
                                                    顶
Angular 6.x 指令快速入门
在 Angular 中,我们可以使用 HostBinding 装饰器,实现元素的属性绑定。
阿宝哥
2019/11/05
3.2K0
Angular 显示英雄列表
在本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄的详细信息。
HoneyMoose
2019/05/30
4.4K0
Angular 6.x 快速入门
在 Angular 中,我们可以通过 Component 装饰器和组件类来创建自定义组件。
阿宝哥
2019/11/05
14.1K0
Angular--Module的使用
Angular 是一个用html 和typescript 构建客户端应用的平台与框架。 它将核心功能和可选功能作为一组TypeScript 库进行实现,你可以把它们导入到你的应用中。
半指温柔乐
2020/04/21
4.9K0
Angular DOM 抽象概述
为了能够支持跨平台,Angular 通过抽象层封装了不同平台的差异,统一了 API 接口。如定义了抽象类 Renderer2 、抽象类 RootRenderer 等。此外还定义了以下引用类型:ElementRef、TemplateRef、ViewRef 、ComponentRef 和 ViewContainerRef 等。
阿宝哥
2019/11/05
3.6K0
Angular 显示英雄列表
在本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄的详细信息。
HoneyMoose
2019/05/30
4K0
Angular 中结构指令模式 - 它们是什么且怎么使用
在 Angular 中,有两种类型的指令。属性指令修改 DOM 元素的外观或者行为。结构指令添加或者移除 DOM 元素。
Jimmy_is_jimmy
2022/09/26
3.8K0
Angular 自定义管道
本文将使用 UltimateAngular/angular-pro-src 中的示例,来一步步介绍自定义管道的相关知识。在该示例中,我们将定义一个 FileSizePipe 管道,它用于实现对文件大小进行格式化显示。
阿宝哥
2019/11/05
1.5K0
angular知识点梳理第二篇-基本语法
文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍和如何创建一个angular项目,这一篇主要梳理一些angular的基本语法,这样有利于后面我们进行梳理别的知识点做一些铺垫 基本语法 常见指令 NgModel NgModel就和vue中的v-model的效果是一致的,只是写法会有一些区别,vue中是可以直接进行使用的,但是在angular中我们引入框架的一个核心模块FormsModule才
何处锦绣不灰堆
2022/05/09
2.6K0
angular知识点梳理第二篇-基本语法
ng 基础语法
*ngFor(同vue中v-for类似) 使用方式 //.ts中 import { Component } from '@angular/core'; //装饰器语法 @Comonent({ selector:"app-main",//将来可在使用时<app-main/> templateUrl:"./app-main.html",//html模板 styleUrls:["./app-style.css"]//css可引入多个 }) class AppMain{ list:[{name:'tom'
刘嘿哈
2022/10/25
6050
Angular快速学习笔记(3) -- 组件与模板
1. 显示数据 在 Angular 中最典型的数据显示方式,就是把 HTML 模板中的控件绑定到 Angular 组件的属性。 使用插值表达式显示组件属性 要显示组件的属性,最简单的方式就是通过插值表达式 (interpolation) 来绑定属性名。 要使用插值表达式,就把属性名包裹在双花括号里放进视图模板,如 {{myHero}}。 import { Component } from '@angular/core'; @Component({ selector: 'app-root', te
JadePeng
2018/05/28
15.3K0
最受欢迎的10大Angular技巧
本文最初发布于 indepth.dev 网站,经原作者授权由 InfoQ 中文站翻译并分享。
深度学习与Python
2020/09/23
2.1K0
最受欢迎的10大Angular技巧
点击加载更多

相似问题

从*ngFor外部*ngFor

124

使用ngFor打印对象

04

对象上的NgFor +为NgFor中的每个属性创建NgModel

20

ngFor映射对象

20

ngFor内部ngFor

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文