XML错误 - 元素类型必须跟随属性规范,“>”或“/>”

时间:2016-10-31 04:05:29

标签: xml

我使用XML相对较新。

我有一个巨大的XML文件,我试图手工创建它的微缩版本 - 我从原始文件剪切并匹配标签(我想!)。 我需要这个微型版本做一些实验。

我有上面提到的错误(),我似乎无法解决。看着其他类似的问题,但无法让这个工作。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Message xmlns:bs="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02" xmlns="urn:bcsis" xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
<stmt>
 <bs:Bal>
        <bs:Tp>
            <bs:CdOrPrtry>
                <bs:Prtry>Outward</bs:Prtry>
            </bs:CdOrPrtry>
        </bs:Tp>
        <bs:AmtCcy="SGD">300</bs:Amt>
        <bs:CdtDbtInd>DBIT</bs:CdtDbtInd>
        <bs:Dt>
            <bs:Dt>2016-10-04</bs:Dt>
        </bs:Dt>
 </bs:Bal>
 <bs:Ntry>
    <bs:AmtCcy="USD">300.00</bs:Amt>
 </bs:Ntry>
</stmt>
<stmt>
<bs:Bal>
        <bs:Tp>
            <bs:CdOrPrtry>
                <bs:Prtry>Inward</bs:Prtry>
            </bs:CdOrPrtry>
        </bs:Tp>
        <bs:AmtCcy="USD">250</bs:Amt>
        <bs:CdtDbtInd>DBIT</bs:CdtDbtInd>
        <bs:Dt>
            <bs:Dt>2016-10-04</bs:Dt>
        </bs:Dt>
</bs:Bal>
<bs:Ntry>
    <bs:AmtCcy="USD">250.00</bs:Amt>
</bs:Ntry>
</stmt>
</Message>

确切的错误是:

元素类型“bs:AmtCcy”必须后跟属性规范,“&gt;”或“/&gt;”。

出现在bs的第一个实例:Amt(金额为300新元)。

2 个答案:

答案 0 :(得分:1)

您的XML格式不正确,因为缺少元素和属性名称之间的空格。

更改

<bs:AmtCcy="SGD">300</bs:Amt>

<bs:Amt Ccy="SGD">300</bs:Amt>

同样针对其他几个类似的问题。

以下是您的XML格式良好:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Message xmlns:bs="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02"
         xmlns="urn:bcsis" 
         xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
<stmt>
  <bs:Bal>
    <bs:Tp>
      <bs:CdOrPrtry>
        <bs:Prtry>Outward</bs:Prtry>
      </bs:CdOrPrtry>
    </bs:Tp>
    <bs:Amt Ccy="SGD">300</bs:Amt>
    <bs:CdtDbtInd>DBIT</bs:CdtDbtInd>
    <bs:Dt>
      <bs:Dt>2016-10-04</bs:Dt>
    </bs:Dt>
  </bs:Bal>
  <bs:Ntry>
    <bs:Amt Ccy="USD">300.00</bs:Amt>
  </bs:Ntry>
</stmt>
<stmt>
  <bs:Bal>
    <bs:Tp>
      <bs:CdOrPrtry>
        <bs:Prtry>Inward</bs:Prtry>
      </bs:CdOrPrtry>
    </bs:Tp>
    <bs:Amt Ccy="USD">250</bs:Amt>
    <bs:CdtDbtInd>DBIT</bs:CdtDbtInd>
    <bs:Dt>
      <bs:Dt>2016-10-04</bs:Dt>
    </bs:Dt>
  </bs:Bal>
  <bs:Ntry>
    <bs:Amt Ccy="USD">250.00</bs:Amt>
  </bs:Ntry>
</stmt>
</Message>

答案 1 :(得分:0)

对我来说,这意味着我在XML中有一个不间断的引号,例如

<tag xmlns:METS="http://www.loc.gov/METS/ >