反序列化时,XML文档中存在错误

sal*_*lim 4 vb.net serialization xml-serialization

我在将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>
Run Code Online (Sandbox Code Playgroud)

Fre*_*örk 10

您的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>
Run Code Online (Sandbox Code Playgroud)

这不是有效的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>
Run Code Online (Sandbox Code Playgroud)


Aak*_*shM 8

为了扩展FredrikMörk的答案,线索在错误消息中:(5, 14)指解析器认为问题所在的行号和列号.这里指出了第二个XML声明,如上所述,这是不允许的.