我正在尝试将下面的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标记。
答案 0 :(得分:3)
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>