1

嗨,我有一个 xml 文档,例如

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfApiFeedProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ApiFeedProduct>
      <Code>C119X</Code>
      <OfferCode>MJF*Q*MJ*13</OfferCode>
      <ProductType>Straight</ProductType>
      <Title>Joseph Perrier Cuvée Royale Brut Champagne</Title>
      <SDesc>Joseph Perrier Cuvée Royale Brut Champagne</SDesc>...

还有一个 XSLT 文档,例如

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <add>
      <xsl:for-each select="ArrayOfApiFeedProduct/ApiFeedProduct">
        <doc>
          <field name="code">
            <xsl:value-of select="Code"/>
          </field>
          <field name="offercode">
            <xsl:value-of select="OfferCode"/>
          </field>
          <field name="producttype">
            <xsl:value-of select="ProductType"/>
          </field>
          <field name="title">
            <xsl:value-of select="Title"/>
          </field>
          <field name="sdesc">
            <xsl:value-of select="SDesc"/>
          </field>...

但这会产生一个像

��<?xml version="1.0" encoding="utf-8"?>
<add>
<doc>
<field name="code">C119X</field>
<field name="offercode">MJF*Q*MJ*13</field>
<field name="producttype">Straight</field>
<field name="title">Joseph Perrier Cuvée Royale Brut Champagne</field>
<field name="sdesc">Joseph Perrier Cuvée Royale Brut Champagne</field>...

前两个字符来自哪里?即��?

4

1 回答 1

1

我怀疑它们构成了编码为 UTF-8 的 Unicode 字节顺序标记 (BOM)。如果符合标准的 XML 处理器认为您的文档格式正确,那么这可能会保证它的格式,因为 XML 声明之前的任何其他字符都会使文件格式不正确。

于 2013-08-24T01:28:18.707 回答