【问题标题】:There is an error in XML document when deserializing反序列化时 XML 文档中存在错误
【发布时间】:2010-04-27 06:22:41
【问题描述】:

我在将 XML 文档反序列化为对象时收到错误消息。 怎么解决?

XML 文档有错误 (5, 14)

这是 XML 文档:

<?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Khaled</FirstName>
  <LastName>Marouf</LastName>
</Customer><?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Faisal</FirstName>
  <LastName>Damaj</LastName>
</Customer><?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Lara</FirstName>
  <LastName>Khalil</LastName>
</Customer>

【问题讨论】:

  • 您可以使用“Code SAmple”功能让我们看到实际的 xml 标签吗?
  • 发布您的 vb.net 代码和错误,否则我们只是在这里钓鱼。

标签: vb.net xml-serialization serialization


【解决方案1】:

您的 XML 文档实际上是 三个 文档。例如,一个有效的 XML 文档必须只有一个根节点。此外,XML 声明在文档中无效。

这是有效的 XML(XML 声明在前,一个根元素):

<?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Khaled</FirstName>
  <LastName>Marouf</LastName>
</Customer>

这是无效的 XML(多个根元素,文档内的 xml 声明):

<?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Khaled</FirstName>
  <LastName>Marouf</LastName>
</Customer><?xml version="1.0"?>
<Customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FirstName>Faisal</FirstName>
  <LastName>Damaj</LastName>
</Customer>

【讨论】:

    【解决方案2】:

    展开Fredrik Mörk's answer,线索在错误信息中:(5, 14)指的是解析器认为问题所在的行号和列号。在这里,它指向第二个 XML 声明,如前所述,这是不允许的。

    【讨论】:

      【解决方案3】:

      为您的客户元素添加根元素。

      【讨论】:

        【解决方案4】:

        试试这个...

        <?xml version="1.0"?>
        <ArrayOfCustomer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <Customer>
            <FirstName>Khaled</FirstName>
            <LastName>Marouf</LastName>
          </Customer>
          <Customer>
            <FirstName>Faisal</FirstName>
            <LastName>Damaj</LastName>
          </Customer>
          <Customer>
            <FirstName>Lara</FirstName>
            <LastName>Khalil</LastName>
          </Customer>
        </ArrayOfCustomer>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-11
          • 2016-04-28
          • 2021-11-05
          • 1970-01-01
          • 1970-01-01
          • 2020-11-24
          • 2011-06-11
          • 1970-01-01
          相关资源
          最近更新 更多