2011-09-07 58 views
0

我有一个XML字符串,它是从基于Visual Fox Pro的COM对象输出的,我试图读入DataSet。当我这样做时,它会引发异常“The string”不是有效的AllXsd值。“异常字符串''不是有效的AllXsd值。当试图通过ReadXML从XML字符串获取数据集

基于谷歌搜索和堆栈溢出搜索这通常是日期格式的问题。我确实有一个类型为datetime的字段“已更改”,但是我没有在该字段中具有任何数据的XML中的任何记录。假设字段导致问题,并且我从不需要来自该字段的数据,我如何告诉它忽略该字段中的数据或将其视为字符串或其他内容。

这里是有问题的XML:

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?> 
<VFPData> 
    <xsd:schema id="VFPData" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 
     <xsd:element name="VFPData" msdata:IsDataSet="true"> 
      <xsd:complexType> 
       <xsd:choice maxOccurs="unbounded"> 
        <xsd:element name="v_issue2" minOccurs="0" maxOccurs="unbounded"> 
         <xsd:complexType> 
          <xsd:sequence> 
           <xsd:element name="issue2id" type="xsd:int"/> 
           <xsd:element name="issueid" type="xsd:int"/> 
           <xsd:element name="materielid" type="xsd:int"/> 
           <xsd:element name="nsn"> 
            <xsd:simpleType> 
             <xsd:restriction base="xsd:string"> 
              <xsd:maxLength value="14"/> 
             </xsd:restriction> 
            </xsd:simpleType> 
           </xsd:element> 
           <xsd:element name="nomen"> 
            <xsd:simpleType> 
             <xsd:restriction base="xsd:string"> 
              <xsd:maxLength value="35"/> 
             </xsd:restriction> 
            </xsd:simpleType> 
           </xsd:element> 
           <xsd:element name="qty" type="xsd:int"/> 
           <xsd:element name="serialized" type="xsd:boolean"/> 
           <xsd:element name="sewn" type="xsd:boolean"/> 
           <xsd:element name="tamid" type="xsd:int" minOccurs="0"/> 
           <xsd:element name="qty_return" type="xsd:int"/> 
           <xsd:element name="qty_lost" type="xsd:int"/> 
           <xsd:element name="qty_bo" type="xsd:int"/> 
           <xsd:element name="matlocid" type="xsd:int" minOccurs="0"/> 
           <xsd:element name="changed" type="xsd:dateTime"/> 
           <xsd:element name="need_ldy" type="xsd:boolean" minOccurs="0"/> 
           <xsd:element name="lotcontrol"> 
            <xsd:simpleType> 
             <xsd:restriction base="xsd:string"> 
              <xsd:maxLength value="1"/> 
             </xsd:restriction> 
            </xsd:simpleType> 
           </xsd:element> 
           <xsd:element name="location" minOccurs="0"> 
            <xsd:simpleType> 
             <xsd:restriction base="xsd:string"> 
              <xsd:maxLength value="13"/> 
             </xsd:restriction> 
            </xsd:simpleType> 
           </xsd:element> 
           <xsd:element name="backordid" type="xsd:int"/> 
           <xsd:element name="accessories" minOccurs="0"> 
            <xsd:simpleType> 
             <xsd:restriction base="xsd:string"> 
              <xsd:maxLength value="2147483647"/> 
             </xsd:restriction> 
            </xsd:simpleType> 
           </xsd:element> 
          </xsd:sequence> 
         </xsd:complexType> 
        </xsd:element> 
       </xsd:choice> 
       <xsd:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/> 
      </xsd:complexType> 
     </xsd:element> 
    </xsd:schema> 
    <v_issue2> 
     <issue2id>35571504</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5238</materielid> 
     <nsn>8405015299330</nsn> 
     <nomen>DESERT 8 POINT XXS</nomen> 
     <qty>2</qty> 
     <serialized>false</serialized> 
     <sewn>true</sewn> 
     <tamid>120</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol>N</lotcontrol> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571492</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>7483</materielid> 
     <nsn>132510KIT4000</nsn> 
     <nomen>BELT KIT</nomen> 
     <qty>1</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571493</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>6415</materielid> 
     <nsn>8420011121473</nsn> 
     <nomen>T-SHIRTS, BROWN COTTON XS</nomen> 
     <qty>9</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571494</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>524</materielid> 
     <nsn>8415012279547</nsn> 
     <nomen>POLY PRO UNDERSHIRT, XS</nomen> 
     <qty>2</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571495</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>530</materielid> 
     <nsn>8415012279543</nsn> 
     <nomen>POLY PRO DRAWER, SM</nomen> 
     <qty>2</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571496</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>7244</materielid> 
     <nsn>8415015394045</nsn> 
     <nomen>GORTEX FLEECE LINER XS/R</nomen> 
     <qty>1</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571497</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>6422</materielid> 
     <nsn>8430014939165</nsn> 
     <nomen>BOOTS, HW STEEL TOE, DESERT 3N</nomen> 
     <qty>2</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571498</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5301</materielid> 
     <nsn>8440015083357</nsn> 
     <nomen>SOCKS, MOIST MGT XS</nomen> 
     <qty>9</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571499</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5461</materielid> 
     <nsn>8415014753633</nsn> 
     <nomen>DESERT CW TROUSERS XS XS</nomen> 
     <qty>1</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571500</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5445</materielid> 
     <nsn>8415014702065</nsn> 
     <nomen>DESERT CW PARKA XS XS</nomen> 
     <qty>1</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571501</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5447</materielid> 
     <nsn>8415013275324</nsn> 
     <nomen>DCU DESERT TROUSER XS-XS</nomen> 
     <qty>4</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571502</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5285</materielid> 
     <nsn>8415014863298</nsn> 
     <nomen>DCU DESERT BLOUSE XS XXS</nomen> 
     <qty>4</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
    <v_issue2> 
     <issue2id>35571503</issue2id> 
     <issueid>2772562</issueid> 
     <materielid>5244</materielid> 
     <nsn>8415013274828</nsn> 
     <nomen>DCU DESERT SUN HAT 6-1/2</nomen> 
     <qty>2</qty> 
     <serialized>false</serialized> 
     <sewn>false</sewn> 
     <tamid>0</tamid> 
     <qty_return>0</qty_return> 
     <qty_lost>0</qty_lost> 
     <qty_bo>0</qty_bo> 
     <matlocid>0</matlocid> 
     <changed/> 
     <need_ldy>false</need_ldy> 
     <lotcontrol/> 
     <location/> 
     <backordid>0</backordid> 
     <accessories/> 
    </v_issue2> 
</VFPData> 

回答

0

我把它用XMLReadMode.InferSchema工作,我认为现在是处理该元素为某种类型不是日期等。

MyDataSet.ReadXml(MyXMLStringReader, XmlReadMode.InferSchema); 
相关问题