【发布时间】:2023-03-15 15:16:01
【问题描述】:
我有一个获取 XML 并反序列化为对象的 webapi (.NET core 3.1) 方法。但是有些标签的开头和结尾是不一样的。例如,如果以<Address> 打开,则以</address> 关闭。所以 XML 格式不正确。我知道 XML 是区分大小写的,但是有什么选项可以忽略这种区分大小写吗?
XML 是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<User>UserName</User>
<Address>address line</address>
</Orders>
【问题讨论】:
-
为什么不修复有问题的 XML 生成器呢? 那 是真正的错误。
Address和address是两个不同的 XML 元素。 -
它不在我们这边。它来自 SAP,他们不想修复它。
-
SAP 不这样做。自定义合作伙伴或实施者代码可以做到这一点。他们得到报酬来编写一些被破坏的扩展。他们应该修复它们。有人可能会争辩说,这个错误太糟糕了,即使项目失去支持,他们必须修复它,因为他们从未交付过——那不是 XML
-
即使您是合作伙伴,并且“他们”是错误代码生成无效 XML 的客户,他们仍然没有履行提供有效 XML 的义务。 BTW SAP 具有出色的 SOAP 支持和 .NET 集成。如果 SAP 有问题,20 年前成千上万的公司就会注意到。
-
换一种说法,你的项目经理会明白,如果他们想让你做额外的工作来处理非 XML 文本,你不应该得到报酬吗?谁来决定免费工作?
标签: c# xml asp.net-core deserialization asp.net-core-webapi