【问题标题】:"Non whitespace characters are not allowed in schema elements "“架构元素中不允许使用非空白字符”
【发布时间】:2011-09-09 01:38:45
【问题描述】:

我有一个客户提供的 XML 文件

<?xml version="1.0" encoding="UTF-8"?>
<PhysicalProperty xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation=''>
    <Property>
        <Identification type="unspecified" rentalType="unspecified">
            <PrimaryID>1</PrimaryID>
            <SecondaryID>1</SecondaryID>
            <MarketingName>tewraewr</MarketingName>
            <OwnerLegalName>aerwerwe</OwnerLegalName>
       </Identification>
    </Property>
    </PhysicalProperty>

它曾经工作得很好。但是现在它给出了错误

“架构元素中不允许使用非空白字符。看到'tewraewr'”

如果我删除 PhysicalProperty 中的属性,它可以正常工作。如何在不删除属性的情况下使其工作?

【问题讨论】:

  • 我从消息中的猜测是它抱怨的是架构,而不是实例。但我希望任何体面的处理器都能提供有关错误位置的一些信息。您是否修改过要发表的数据?实际上有模式吗?消息中有更多信息吗?
  • 你是对的。问题出在模式上。 noNamespaceSchemaLocation 属性不允许空白值。
  • 我输入了一些虚拟值,它起作用了。
  • 我生成了虚拟值,因为我不允许共享实际数据。

标签: xml xml-validation


【解决方案1】:

我不是 XML 专家,但如果我不得不猜测,我会认为它是 PhysicalProperty 元素的第二个属性中的空 ''。

尝试删除 xsi:noNamespaceSchemaLocation='' 看看是否可行。

【讨论】:

  • 您对空模式位置的看法可能是正确的,但根据 OP,删除它不是一个选项。
  • 感谢您的回答。我做了类似的事情,即将一些虚拟值作为空白不是一种选择。
猜你喜欢
  • 2014-09-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 2013-11-08
  • 2016-01-25
相关资源
最近更新 更多