C#将XML转换为JSON时强制使用整数

C#将XML转换为JSON时强制使用整数,c#,json,xml,C#,Json,Xml,我试图将XML转换为JSON,以便生成对API的HTTP POST请求。我得到一个错误,因为其中一个字段是整数而不是字符串。从我所读到的内容来看,将“json:Integer=“true”添加到节点将导致它变成int,但这似乎对我不起作用。下面是xml和生成的json。数组正在工作,但整数不工作 <shipments json:Array="true" xmlns:json="http://james.newtonking.com/projects/json"> <sh

我试图将XML转换为JSON,以便生成对API的HTTP POST请求。我得到一个错误,因为其中一个字段是整数而不是字符串。从我所读到的内容来看,将“json:Integer=“true”添加到节点将导致它变成int,但这似乎对我不起作用。下面是xml和生成的json。数组正在工作,但整数不工作

<shipments json:Array="true" xmlns:json="http://james.newtonking.com/projects/json">
    <shipment_tracking_number />
    <response_shipment_date>2016-10-18T01:00:00.0000000-04:00</response_shipment_date>
    <response_shipment_method>UPS Ground</response_shipment_method>
    <expected_delivery_date>2016-10-18T01:00:00.0000000-04:00</expected_delivery_date>
    <ship_from_zip_code>12345</ship_from_zip_code>
    <carrier_pick_up_date>2016-10-18T01:00:00.0000000-04:00</carrier_pick_up_date>
    <carrier>UPS</carrier>
    <shipment_items json:Array="true">
        <shipment_item_id>FF12345K</shipment_item_id>
        <alt_shipment_item_id>1234567890</alt_shipment_item_id>
        <merchant_sku>B00xxxx</merchant_sku>
        <response_shipment_sku_quantity json:Integer="true">1</response_shipment_sku_quantity>
    </shipment_items>
</shipments>

我需要
“响应装运sku数量”:“1”
显示为
“响应装运sku数量”:1
,但它似乎不起作用。我可以修改XML或执行转换的代码。只要能做到这一点,我不介意

您错误地定义了属性。应该是这样的

<response_shipment_sku_quantity json:Type='Integer'>1</response_shipment_sku_quantity>
1
编辑:

查找方法
private-node
string-dataType=GetDataType(node)

另一个选项是使用适当的属性类型将
反序列化
xml
,然后
序列化
Json

我尝试将其放在xml文件的节点中运行,但似乎没有任何影响。很遗憾,我无法在文件本身中添加数组代码。我已经编写了代码来检查是否只有1个节点具有相同的名称,如果是,它将添加array属性。这会以某种方式覆盖它吗?上面的示例是我从doc.innerxml中获得的xml,因此这是在我的代码完成其功能之后business@DanHastings您可以查看我的编辑并查看源代码。是否使用中描述的
XmlNodeConverter
的“分叉”版本?
<response_shipment_sku_quantity json:Type='Integer'>1</response_shipment_sku_quantity>