首页 文章

替换 使用xslt在xml中使用空格

提问于
浏览
2

输入xml编码:

<Table ss:ExpandedColumnCount="21" ss:ExpandedRowCount="55" x:FullColumns="1"
 x:FullRows="1" ss:DefaultColumnWidth="53.0" ss:DefaultRowHeight="14.0">
<Row>
<Cell><Data ss:Type="String">Report Date:&nbsp;02-11-2015 </Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s62"><Data ss:Type="String">File ID</Data><NamedCell
  ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s59"><Data ss:Type="String">Automation</Data><NamedCell
  ss:Name="_FilterDatabase"/></Cell>
</Row>
<Row>
<Cell ss:StyleID="s63"><Data ss:Type="String">&nbsp; </Data><NamedCell
  ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s73"><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
</Table>

xsl编码中的头部声明:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#xa0;">
]>

我们在输入xsl中使用上面的头声明来替换具有空格的非中断空格(nbsp) . 但它没有工作,它一次又一次显示下面的错误 . XML Error: The entity "nbsp" was referenced, but not declared.

2 回答

  • 1

    如果您的XML输入引用实体(与 &nbsp; 一样),那么您需要确保XML输入声明实体 .

  • 0

    你不需要XSLT,你可以轻松地在输入上找到/替换文本,用 &#160; 替换 &nbsp; .

    如上所述,您的输入XML与XSL无关 - &nbsp; 是一个HTML实体,而不是XML实体,因此任何使用它的XML文档都必须包含实体声明 - 这意味着源文档和任何xsl使用它的样式表 .

相关问题