XML解析器将字符串值1处理为布尔值

时间:2012-04-06 13:44:37

标签: xml

从我们的webapplication X中,我们导出一个XML文件,其中包含我们要在应用程序Y中导入的数据。

当导出的XML文件中的每个项目的值为“1”或者应用程序Y处理它时,它就像一个布尔值并返回“.T。”。 应用程序Y不提供强制它将值作为字符串导入的方法。

我们是否需要在XML文件中添加内容以始终让应用程序Y将值解释为字符串?还是有另一种方法可以解决我们的问题吗?

我们的exportfile示例:

<?xml version="1.0" encoding="UTF-8" ?>
<items>
    <item>
        <dj_code><![CDATA[FAC]]></dj_code>
        <page_nr>1</page_nr>
        <hdr_desc><![CDATA[test testcase 20120001]]></hdr_desc>
        <date><![CDATA[2012-03-30]]></date>
        <sub_nr>8095</sub_nr>
        <acct_nr>8200</acct_nr>
        <inv_nr>20120001</inv_nr>
        <desc><![CDATA[vierkantemeters]]></desc>
        <vat_code><![CDATA[T]]></vat_code>
        <period>03</period>
        <amount>1500.00</amount>
    </item>

    <item>
        <dj_code><![CDATA[FAC]]></dj_code>
        <page_nr>1</page_nr>
        <hdr_desc><![CDATA[test testcase 20120001]]></hdr_desc>
        <date><![CDATA[2012-03-30]]></date>
        <sub_nr>8095</sub_nr>
        <acct_nr>8200</acct_nr>
        <inv_nr>20120001</inv_nr>
        <desc><![CDATA[meters lat]]></desc>
        <vat_code><![CDATA[T]]></vat_code>
        <period>03</period>
        <amount>50.00</amount>
    </item>

    <item>
        <dj_code><![CDATA[FAC]]></dj_code>
        <page_nr>1</page_nr>
        <hdr_desc><![CDATA[test testcase 20120001]]></hdr_desc>
        <date><![CDATA[2012-03-30]]></date>
        <sub_nr>8095</sub_nr>
        <acct_nr>8200</acct_nr>
        <inv_nr>20120001</inv_nr>
        <desc><![CDATA[tester]]></desc>
        <vat_code><![CDATA[T]]></vat_code>
        <period>03</period>
        <amount>500.00</amount>
    </item>
</items>

2 个答案:

答案 0 :(得分:0)

您使用什么语言/库来导入xml?

您可以向导出的xml添加模式或dtd,然后解析它应该尊重数据的类型。

答案 1 :(得分:0)

如果应用程序Y将“1”解释为true,并且您不希望这种情况发生,那么您需要了解应用程序Y才能解决问题,我们需要了解应用程序Y以帮助您。因为我们对应用程序Y一无所知,除了它对“1”的奇怪解释之外,帮助你是非常困难的。