7

I have a list of codes to which i have an error "XML document cannot contain multiple root level elements"

<Employee>
  <Name ID= "JanRich">Janice Richardson</Name>
  <Role>Finance Supervisor</Role>
  <Department>Sales</Department>
  <CPF_Number>370-16-3631</CPF_Number>
  <Marital_Status>Single</Marital_Status>
  <Salary>$4,500</Salary>
</Employee>
<Employee>
  <Name ID= 'AlanWu'>Alan Wu</Name>
  <Role></Role>
  <Department>Research</Department>
  <CPF_Number>
    385-22-3311
  </CPF_Number>
  <Marital_status>Married</Marital_status>
  <Salary>$52,800</Salary>
</Employee>

The error occurs at the first <Employee> tag.

madhead
  • 31,729
  • 16
  • 153
  • 201
GJJ
  • 494
  • 3
  • 8
  • 18

4 Answers4

12

The XML document must have one and only one root element. You have to add root element. For instance,

<?xml version="1.0" encoding="utf-8" ?> 
<Employees>
    <Employee>
       .....
    </Employee>
    <Employee>
       ....
    </Employee>
</Employees>
KV Prajapati
  • 93,659
  • 19
  • 148
  • 186
4

Assuming what you want to do is open the document anyway, you can set the ConformanceLevel of the XmlReader to ConformanceLevel.Fragment.

XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;

// input is a stream or filename
using (XmlReader reader = XmlReader.Create(input, settings)) {
    // use the reader
}
harpo
  • 41,820
  • 13
  • 96
  • 131
2

You just have to add root element will resolve ur error.......

 <root>

    <Employee>   
      <Name ID= "JanRich">Janice Richardson</Name>   <Role>Finance Supervisor</Role>   
      <Department>Sales</Department>   <CPF_Number>370-16-3631</CPF_Number>     
      <Marital_Status>Single</Marital_Status>   <Salary>$4,500</Salary> 
    </Employee> 

   <Employee>   <Name ID= 'AlanWu'>Alan Wu</Name>   <Role></Role>        
     <Department>Research</Department>   <CPF_Number>     385-22-3311     
     </CPF_Number>        
     <Marital_status>Married</Marital_status>   <Salary>$52,800</Salary> 
   </Employee> 

 </root>
Pranay Rana
  • 175,020
  • 35
  • 237
  • 263
0
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfTestClass>
  <testClass>
    <a>attr1</a>
  </testClass>
  <testClass>
    <a>attr2</a>
  </testClass>
</ArrayOfTestClass>

like this