ns0 - необъявленный префикс при десериализации XML

Я пытаюсь десериализовать XML ниже для классов C#:

<StaffingOrder xmlns="NameSpaceName">
  <ReportingRequirements>
    <ns0:ManagerName>__MANAGER_NAME</ns0:ManagerName>
    <ns0:SupervisorName>__SUPERVISOR_NAME</ns0:SupervisorName>
  </ReportingRequirements>
  <Comments>Comment</Comments>      
</StaffingOrder>

Но при десериализации я получаю следующую ошибку:

Error: There was an error processing 'Test.xml'.
  - 'ns0' is an undeclared prefix

Как я могу десериализовать тэги ns0.

1 ответ

XML-документ не является правильно сформированным пространством имен, поскольку префикс ns0 не связан ни с одним пространством имен. Вот почему это не может быть проанализировано.

Он может быть привязан к выбранному вами пространству имен с помощью атрибута xmlns:ns0 в любом теге вокруг его использования, например:

<StaffingOrder
    xmlns="NameSpaceName"
    xmlns:ns0="http://www.example.com/some/namespace">
  <ReportingRequirements>
    <ns0:ManagerName>__MANAGER_NAME</ns0:ManagerName>
    <ns0:SupervisorName>__SUPERVISOR_NAME</ns0:SupervisorName>
  </ReportingRequirements>
  <Comments>Comment</Comments>      
</StaffingOrder>
Другие вопросы по тегам